.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/
