cb424d7448
verify-patch-sanity.py validates every active recipe .patch has internally- consistent hunk line counts — catching the 'malformed patch at line N' failure at commit/CI/preflight time instead of hours into a cook. This cycle hit that class three times (qtwaylandscanner, sddm, xwayland), each only discovered when cookbook tried to apply the patch. Running it across the repo found 29 latent malformed patches (validated against GNU patch: e.g. relibc/P3-sysv-ipc reproduces 'malformed patch at line 22'). They were harmless only because they sit in vendored recipes (baked, not re- applied) — but would fail on any version-bump re-derivation. --fix recounts the hunk headers (body untouched) and repaired all 29. Wired into build-preflight.sh (Phase 1.0D) and redbear-ci.yml, with a unit test (test-patch-sanity.sh). Skips archived/legacy trees and unvalidatable formats (empty placeholders, bare-@@ git hunks).
197 lines
5.3 KiB
ReStructuredText
197 lines
5.3 KiB
ReStructuredText
: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.
|