xref: /freebsd-12.1/contrib/llvm/tools/lldb/docs/lldb.1 (revision ef3c0181)
1.Dd December 16, 2015   \" DATE
2.Dt LLDB 1           \" Program name and manual section number
3.Os
4.Sh NAME             \" Section Header - required - do not modify
5.Nm lldb
6.Nd The debugger
7.Sh SYNOPSIS         \" Section Header - required - do not modify
8.Nm lldb
9.Op Fl hvdexw
10.Op Fl a Ar arch
11.Op Fl c Ar core-file
12.Op Fl l Ar script-language
13.Op Fl s Ar lldb-commands
14.Op Fl n Ar process-name
15.Op Fl p Ar pid
16.Ar [[--] <PROGRAM-ARG1> <PROGRAM-ARG2> ...]
17.Sh DESCRIPTION      \" Section Header - required - do not modify
18.Nm
19is the command line interface for the LLDB debugger library.
20.Nm
21can debug C, C++, Objective-C, and Objective-C++ programs.
22.Pp
23The following options are available:
24.Bl -tag -width indent
25.It Fl h, -help
26Prints out the usage information for the
27.Nm
28debugger.
29The
30.Fl -help
31text may be more up-to-date and
32authoritative than the command line options described in this man
33page.
34.It Fl v, -version
35Prints out the version number of the
36.Nm
37debugger.
38.It Fl a, -arch Ar arch
39Specifies which architecture
40.Nm
41will use when launching the specified program (assuming the provided
42executable is built for multiple architectures.)
43.It Fl f, -file Ar filename
44Specifies the executable file that
45.Nm
46will be launching / attaching to.
47.It Fl n, -attach-name Ar process-name
48Specifies the name of a currently-running process to attach to.
49(or the name of a process to wait for if
50.Fl w
51is used.)
52.It Fl w, -wait-for
53When used in concert with
54.Fl n Ar process-name ,
55indicates that
56.Nm
57should wait for a new process of that name to be started -- and attach
58to it as early in the process-launch as possible.
59.It Fl p, -attach-pid Ar pid
60Specifies a currently running process that
61.Nm
62should attach to.
63.It Fl c, -core Ar core-file
64Specifies the core file to examine.
65.It Fl l, -script-language Ar language
66Tells the debugger to use the specified scripting language for
67user-defined scripts, rather than the default.
68Valid scripting
69languages that can be specified include Python, Perl, Ruby and Tcl.
70Currently only the Python extensions have been implemented.
71.It Fl d, -debug
72Tells the debugger to print out extra information for debugging itself.
73.It Fl s, -source Ar filename
74Tells
75.Nm
76to read in and execute the file
77.Qq Ar filename ,
78which should contain
79.Nm
80commands.
81.It Fl e, -editor
82Instructs
83.Nm
84to open source files using the host's "external editor" mechanism.
85.It Fl x, -no-lldbinit
86Do not automatically parse any '.lldbinit' files.
87.Pp
88(If you do not provide -f then the first argument will be the file to
89be debugged
90so 'lldb -- <filename> [<ARG1> [<ARG2>]]' also works.
91Remember to end the options with "--" if any of your arguments have
92a "-" in them.)
93.El
94.Sh USING LLDB
95In
96.Nm
97there is a
98.Cm help
99command which can be used to find descriptions and examples of all
100.Nm
101commands.
102To get help on
103.Qq Cm breakpoint set
104you would type
105.Qq Cm help breakpoint set .
106.Pp
107There is also an
108.Cm apropos
109command which will search the help text of all commands
110for a given term -- this is useful for locating a command by topic.
111For instance,
112.Qq Cm apropos breakpoint
113will list any command that has the word
114.Qq Cm breakpoint
115in its help text.
116.Sh FILES
117.Nm
118will read settings/aliases/commands from three files at startup, if they exist.
119.Pp
120First, it will read a
121.Pa ~/.lldbinit-debugger
122command file.
123If you are using the
124.Nm
125command line interface, this is
126.Pa ~/.lldbinit-lldb .
127If you are using
128.Nm
129inside a GUI debugger like
130.Nm Xcode
131this will be
132.Pa ~/.lldbinit-Xcode .
133This is a useful place to put settings that you want to apply only when a given
134.Nm
135command interpreter is used.
136.Pp
137Second,
138.Pa ~/.lldbinit
139is read.
140.Pp
141Third, an
142.Pa .lldbinit
143file in the current working directory (where
144.Nm
145is started) will be read.
146.Sh SEE ALSO
147The LLDB project page http://lldb.llvm.org/ has many different resources for
148.Nm
149users -- the gdb/lldb command equivalence page http://lldb.llvm.org/lldb-gdb.html can
150be especially helpful for users coming from gdb.
151.Sh BUGS
152To report bugs, please visit http://llvm.org/bugs/
153.Sh AUTHOR
154Maintained by the LLDB Team, http://lldb.llvm.org/
155