| .Dd 7 June, 2012 \" DATE |
| .Dt LLDB 1 \" Program name and manual section number |
| .Os Darwin \" Operating System |
| .Sh NAME \" Section Header - required - don't modify |
| .Nm lldb |
| .Nd The debugger |
| .Sh SYNOPSIS \" Section Header - required - don't modify |
| .Nm lldb |
| .Op Fl hvdexw |
| .Op Fl a Ar arch |
| .Op Fl l Ar script-language |
| .Op Fl s Ar lldb-commands |
| .Op Fl n Ar process-name |
| .Op Fl p Ar pid |
| .Ar [[--] <PROGRAM-ARG1> <PROGRAM-ARG2> ...] |
| .Sh DESCRIPTION \" Section Header - required - don't modify |
| .Nm |
| is the command line interface for the LLDB debugger library. |
| .Nm |
| can debug C, C++, Objective-C, and Objective-C++ programs. |
| .Pp |
| The following options are available: |
| .Bl -tag -width indent |
| .It Fl h, -help |
| Prints out the usage information for the |
| .Nm |
| debugger. The \fB\-\-help\fR text may be more up-to-date and |
| authoritative than the command line options described in this man |
| page. |
| .It Fl v, -version |
| Prints out the version number of the |
| .Nm |
| debugger. |
| .It Fl a, -arch Ar arch |
| Specifies which architecture |
| .Nm |
| will use when launching the specified program (assuming the provided |
| executable is built for multiple architectures.) |
| .It Fl f, -file Ar filename |
| Specifies the executable file that |
| .nm |
| will be launching / attaching to. |
| .It Fl n, -attach-name Ar process-name |
| Specifies the name of a currently-running process to attach to. |
| (or the name of a process to wait for if \fB\-w\fR is used.) |
| .It Fl w, -wait-for |
| When used in concert with \&\fB\-n process-name\-E\fR, indicates that |
| .Nm |
| should wait for a new process of that name to be started -- and attach |
| to it as early in the process-launch as possible. |
| .It Fl p, -attach-pid Ar pid |
| Specifies a currently running process that |
| .Nm |
| should attach to. |
| .It Fl l, -script-language Ar language |
| Tells the debugger to use the specified scripting language for |
| user-defined scripts, rather than the default. Valid scripting |
| languages that can be specified include Python, Perl, Ruby and Tcl. |
| Currently only the Python extensions have been implemented. |
| .It Fl d, -debug |
| Tells the debugger to print out extra information for debugging itself. |
| .It Fl s, -source Ar filename |
| Tells |
| .Nm |
| to read in and execute the file "\fBfilename\fR", which |
| should contain |
| .Nm |
| commands. |
| .It Fl e, -editor |
| Instructs |
| .Nm |
| to open source files using the host's "external editor" mechanism. |
| .It Fl x, -no-lldbinit |
| Do not automatically parse any '.lldbinit' files. |
| .Pp |
| (If you don't provide -f then the first argument will be the file to be debugged |
| so 'lldb -- <filename> [<ARG1> [<ARG2>]]' also works. |
| Remember to end the options with "--" if any of your arguments have a "-" in them.) |
| .El |
| .Sh USING LLDB |
| In |
| .Nm |
| there is a \fBhelp\fR command which can be used to find descriptions and examples of |
| all |
| .Nm |
| commands. To get help on "\fBbreakpoint set\fR" you would type "\fBhelp breakpoint set\fR". |
| .Pp |
| There is also an \fBapropos\fR command which will search the help text of all commands |
| for a given term -- this is useful for locating a command by topic. For instance, "\fBapropos breakpoint\fR" |
| will list any command that has the word \fBbreakpoint\fR in its help text. |
| .Sh FILES |
| .Nm |
| will read settings/aliases/commands from three files at startup, if they exist. |
| .Pp |
| First, it will read a \fB~/.lldbinit-\fIdebugger\fR command file. If you are using the |
| .Nm |
| command line interface, this is \fB~/.lldbinit-lldb\fR. If you are using |
| .Nm |
| inside a GUI debugger like |
| .Nm Xcode |
| this will be \fB~/.lldbinit-Xcode\fR. This is a useful place to put settings that you |
| want to apply only when a given |
| .Nm |
| command interpreter is used. |
| .Pp |
| Second, \fB~/.lldbinit\fR is read. |
| .Pp |
| Third, an \fR.lldbinit\fR file in the current working directory (where |
| .Nm |
| is started) will be read. |
| .Sh SEE ALSO |
| The LLDB project page http://lldb.llvm.org/ has many different resources for |
| .Nm |
| users -- the gdb/lldb command equivalence page http://lldb.llvm.org/lldb-gdb.html can |
| be especially helpful for users coming from gdb. |
| .Sh BUGS |
| To report bugs, please visit http://llvm.org/bugs/ |
| .Sh AUTHOR |
| Maintained by the LLDB Team, http://lldb.llvm.org/ |