aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/developers-handbook/tools
diff options
context:
space:
mode:
authorGuangyuan Yang <ygy@FreeBSD.org>2020-12-28 16:26:55 +0000
committerGuangyuan Yang <ygy@FreeBSD.org>2020-12-28 21:15:57 +0000
commit192a5729e55ebddd239731df215b973d39581a29 (patch)
treee63040c702e533878558f6c261522b84005cec20 /en_US.ISO8859-1/books/developers-handbook/tools
parenta496aac425a025b7bb76d5a545bc9ef95e3c4123 (diff)
downloaddoc-192a5729e55ebddd239731df215b973d39581a29.tar.gz
doc-192a5729e55ebddd239731df215b973d39581a29.zip
handbook: add a section on remote debugging via LLDB
PR: 251709 Obtained from: Moritz Systems Submitted by: Michał Górny <mgorny@moritz.systems> Sponsored by: The FreeBSD Foundation Reviewed by: bcr Discussed with: dim, emaste Differential Revision: https://reviews.freebsd.org/D27524
Diffstat (limited to 'en_US.ISO8859-1/books/developers-handbook/tools')
-rw-r--r--en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml42
1 files changed, 42 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml b/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml
index c7d538f58f..2ce196350e 100644
--- a/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml
+++ b/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml
@@ -1655,6 +1655,48 @@ else if (pid == 0) { /* child */
<userinput>expr PauseMode = 0</userinput> and wait
for the <function>sleep()</function> call to return.</para>
</sect3>
+
+ <sect3>
+ <title>Remote Debugging Using LLDB</title>
+
+ <note>
+ <para>The described functionality is available starting with
+ LLDB version 12.0.0. Users of &os; releases containing an
+ earlier LLDB version may wish to use the snapshot
+ available in <link
+ xlink:href="&url.books.handbook;/ports-using.html">ports
+ or packages</link>, as
+ <package>devel/llvm-devel</package>.</para>
+ </note>
+
+ <para>Starting with LLDB 12.0.0, remote debugging is supported
+ on &os;. This means that <command>lldb-server</command>
+ can be started to debug a program on one host, while
+ the interactive <command>lldb</command> client connects
+ to it from another one.</para>
+
+ <para>To launch a new process to be debugged remotely, run
+ <command>lldb-server</command> on the remote server
+ by typing</para>
+
+ <screen>&prompt.user; <userinput>lldb-server g <replaceable>host:port</replaceable> -- <replaceable>progname</replaceable></userinput></screen>
+
+ <para>The process will be stopped immediately after launching,
+ and <command>lldb-server</command> will wait for the client
+ to connect.</para>
+
+ <para>Start <command>lldb</command> locally and type
+ the following command to connect to the remote
+ server:</para>
+
+ <screen>(lldb) <userinput>gdb-remote <replaceable>host:port</replaceable></userinput></screen>
+
+ <para><command>lldb-server</command> can also attach to
+ a running process. To do that, type the following
+ on the remote server:</para>
+
+ <screen>&prompt.user; <userinput>lldb-server g <replaceable>host:port</replaceable> --attach <replaceable>pid-or-name</replaceable></userinput></screen>
+ </sect3>
</sect2>
<sect2>