|  | :orphan: | 
|  |  | 
|  | lldb-server -- Server for LLDB Debugging Sessions | 
|  | ================================================= | 
|  |  | 
|  | .. program:: lldb-server | 
|  |  | 
|  | SYNOPSIS | 
|  | -------- | 
|  |  | 
|  | | :program:`lldb-server` v[ersion] | 
|  | | :program:`lldb-server` g[dbserver] [*options*] | 
|  | | :program:`lldb-server` p[latform] [*options*] | 
|  |  | 
|  | DESCRIPTION | 
|  | ----------- | 
|  |  | 
|  | :program:`lldb-server` provides the server counterpart of the LLVM debugger. | 
|  | The server runs and monitors the debugged program, while the user interfaces | 
|  | with it via a client, either running locally or connecting remotely. | 
|  |  | 
|  | All of the code in the LLDB project is available under the Apache 2.0 License | 
|  | with LLVM exceptions. | 
|  |  | 
|  | COMMANDS | 
|  | -------- | 
|  |  | 
|  | The first argument to lldb-server specifies a command to run. | 
|  |  | 
|  | .. option:: v[ersion] | 
|  |  | 
|  | Prints lldb-server version and exits. | 
|  |  | 
|  | .. option:: g[dbserver] | 
|  |  | 
|  | Runs the server using the gdb-remote protocol. LLDB can afterwards | 
|  | connect to the server using *gdb-remote* command. | 
|  |  | 
|  | .. option:: p[latform] | 
|  |  | 
|  | Runs the platform server. LLDB can afterwards connect to the server using | 
|  | *platform select*, followed by *platform connect*. | 
|  |  | 
|  | GDBSERVER COMMAND | 
|  | ----------------- | 
|  |  | 
|  | | :program:`lldb-server` g[dbserver] [*options*] [[*host*]:*port*] [[--] *program* *args*...] | 
|  |  | 
|  | CONNECTION | 
|  | ~~~~~~~~~~ | 
|  |  | 
|  | .. option:: host:port | 
|  |  | 
|  | Specifies the hostname and TCP port to listen on. Obligatory unless another | 
|  | listening option is used. If host is empty, *localhost* will be used.  If port | 
|  | is zero, a random port will be selected, and written as specified by --pipe | 
|  | or --named-pipe options. | 
|  |  | 
|  | .. option:: --fd <fd> | 
|  |  | 
|  | Communicate over the given file descriptor instead of sockets. | 
|  |  | 
|  | .. option:: --named-pipe <name> | 
|  |  | 
|  | Write the listening port number to the specified named pipe. | 
|  |  | 
|  | .. option:: --pipe <fd> | 
|  |  | 
|  | Write the listening port number to the specified pipe (fd). | 
|  |  | 
|  | .. option:: --reverse-connect | 
|  |  | 
|  | Connect to the client instead of passively waiting for a connection. In this | 
|  | case, [host]:port denotes the remote address to connect to. | 
|  |  | 
|  | GENERAL OPTIONS | 
|  | ~~~~~~~~~~~~~~~ | 
|  |  | 
|  | .. option:: --help | 
|  |  | 
|  | Prints out the usage information and exits. | 
|  |  | 
|  | .. option:: --log-channels <channel1 categories...:channel2 categories...> | 
|  |  | 
|  | Channels to log. A colon-separated list of entries. Each entry starts with | 
|  | a channel followed by a space-separated list of categories. | 
|  |  | 
|  | .. option:: --log-file <file> | 
|  |  | 
|  | Destination file to log to. If empty, log to stderr. | 
|  |  | 
|  | .. option:: --setsid | 
|  |  | 
|  | Run lldb-server in a new session. | 
|  |  | 
|  | TARGET SELECTION | 
|  | ~~~~~~~~~~~~~~~~ | 
|  |  | 
|  | .. option:: --attach <pid-or-name> | 
|  |  | 
|  | Attach to the process given by a (numeric) process id or a name. | 
|  |  | 
|  | .. option:: -- program args | 
|  |  | 
|  | Launch a program for debugging. | 
|  |  | 
|  | If neither of target options are used, :program:`lldb-server` is started | 
|  | without a specific target. It can be afterwards instructed by the client | 
|  | to launch or attach. | 
|  |  | 
|  | PLATFORM COMMAND | 
|  | ---------------- | 
|  |  | 
|  | | :program:`lldb-server` p[latform] [*options*] --server --listen [[*host*]:*port*] | 
|  |  | 
|  | CONNECTION | 
|  | ~~~~~~~~~~ | 
|  |  | 
|  | .. option:: --server | 
|  |  | 
|  | Run in server mode, handling multiple connections. If this is not specified, | 
|  | lldb-server will accept only one connection and exit when it is finished. | 
|  |  | 
|  | .. option:: --listen <host>:<port> | 
|  |  | 
|  | Hostname and port to listen on. Obligatory. If *port* is zero, a random port | 
|  | will be used. | 
|  |  | 
|  | .. option:: --socket-file <path> | 
|  |  | 
|  | Write the listening socket port number to the specified file. | 
|  |  | 
|  | GENERAL OPTIONS | 
|  | ~~~~~~~~~~~~~~~ | 
|  |  | 
|  | .. option:: --log-channels <channel1 categories...:channel2 categories...> | 
|  |  | 
|  | Channels to log. A colon-separated list of entries. Each entry starts with | 
|  | a channel followed by a space-separated list of categories. | 
|  |  | 
|  | .. option:: --log-file <file> | 
|  |  | 
|  | Destination file to log to. If empty, log to stderr. | 
|  |  | 
|  | GDB-SERVER CONNECTIONS | 
|  | ~~~~~~~~~~~~~~~~~~~~~~ | 
|  |  | 
|  | .. option:: --gdbserver-port <port> | 
|  |  | 
|  | Define a port to be used for gdb-server connections. This port is used for | 
|  | multiple connections. | 
|  |  | 
|  | EXAMPLES | 
|  | -------- | 
|  |  | 
|  | The server can be started in several modes. | 
|  |  | 
|  | In order to launch a new process inside the debugger, pass the path to it | 
|  | and the arguments to the debugged executable as positional arguments. | 
|  | To disambiguate between arguments passed to lldb and arguments passed | 
|  | to the debugged executable, arguments starting with a - must be passed after | 
|  | --. The server will launch the new executable and stop it immediately, waiting | 
|  | for the client to connect. | 
|  |  | 
|  | lldb-server g :1234 /path/to/program program-argument -- --program-option | 
|  |  | 
|  | For convenience, passing the executable after -- is also supported. | 
|  |  | 
|  | lldb-server g :1234 -- /path/to/program program-argument --program-option | 
|  |  | 
|  | In order to attach to a running process, pass --attach along with the process | 
|  | identifier or name. The process will be stopped immediately after starting | 
|  | the server. Note that terminating the server will usually cause the process | 
|  | to be detached and continue execution. | 
|  |  | 
|  | lldb-server g :1234 --attach 12345 | 
|  | lldb-server g :1234 --attach program-name | 
|  |  | 
|  | Use *gdb-remote* command to connect to the server: | 
|  |  | 
|  | (lldb) gdb-remote 1234 | 
|  |  | 
|  | lldb-server can also be started without an inferior. In this case, the client | 
|  | can select the target after connecting to the server. Note that some commands | 
|  | (e.g. *target create*) will disconnect and launch a local lldb-server instead. | 
|  |  | 
|  | lldb-server g :1234 | 
|  |  | 
|  | (lldb) gdb-remote 1234 | 
|  | (lldb) process launch a.out | 
|  |  | 
|  | SEE ALSO | 
|  | -------- | 
|  |  | 
|  | The LLDB project page https://lldb.llvm.org has many different resources | 
|  | for :program:`lldb-server` users. |