<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>LLDB to GDB Command Map</title>
</head>

<body>
    <div class="www_title">
      The <strong>LLDB</strong> Debugger
    </div>

<div id="container">
    <div id="content">
         <!--#include virtual="sidebar.incl"-->
        <div id="middle">
            <div class="post">

                <h1 class ="postheader">GDB to LLDB Command Map</h1>
                <div class="post">

                    <p>Below is a table of GDB commands with the LLDB counterparts.
                        The built in GDB-compatibility aliases in LLDB are also
                        listed.  The full lldb command names are often long, but any
                        unique short form can be used.  Instead of "<b>breakpoint set</b>",
                        "<b>br se</b>" is also acceptable.</p>
                </div>
                <div class="postfooter"></div>

                <h1 class ="postheader">Execution Commands</h1>
                <div class="post">

                    <p>

                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Launch a process no arguments.</td></tr>
                        <td class="content">
                            <b>(gdb)</b> run<br>
                            <b>(gdb)</b> r
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process launch<br>
                            <b>(lldb)</b> run<br>
                            <b>(lldb)</b> r
                        </td>
                    </tr>


                    <tr><td class="header" colspan="2">Launch a process with arguments <code>&lt;args&gt;</code>.</td></tr>
                        <td class="content">
                            <b>(gdb)</b> run &lt;args&gt;<br>
                            <b>(gdb)</b> r &lt;args&gt;
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process launch -- &lt;args&gt;<br>
                            <b>(lldb)</b> r &lt;args&gt;
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Launch a process for with arguments <b><code>a.out 1 2 3</code></b> without having to supply the args every time.</td></tr>
                        <td class="content">
                            <b>%</b> gdb --args a.out 1 2 3<br>
                            <b>(gdb)</b> run<br>
                            ...<br>
                            <b>(gdb)</b> run<br>
                            ...<br>
                        </td>
                        <td class="content">
                            <b>%</b> lldb -- a.out 1 2 3<br>
                            <b>(lldb)</b> run<br>
                            ...<br>
                            <b>(lldb)</b> run<br>
                            ...<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Or:</td></tr>
                        <td class="content">
                            <b>(gdb)</b> set args 1 2 3<br>
                            <b>(gdb)</b> run<br>
                            ...<br>
                            <b>(gdb)</b> run<br>
                            ...<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings set target.run-args 1 2 3<br>
                            <b>(lldb)</b> run<br>
                            ...<br>
                            <b>(lldb)</b> run<br>
                            ...<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Launch a process with arguments in new terminal window (Mac OS X only).</td></tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process launch --tty -- &lt;args&gt;<br>
                            <b>(lldb)</b> pro la -t -- &lt;args&gt;<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Launch a process with arguments in existing terminal <cope>/dev/ttys006</code> (Mac OS X only).</td></tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process launch --tty=/dev/ttys006 -- &lt;args&gt;<br>
                            <b>(lldb)</b> pro la -t/dev/ttys006 -- &lt;args&gt;<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set environment variables for process before launching.</td></tr>
                        <td class="content">
                            <b>(gdb)</b> set env DEBUG 1<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings set target.env-vars DEBUG=1<br>
                            <b>(lldb)</b> set se target.env-vars DEBUG=1<br>
                            <b>(lldb)</b> env DEBUG=1<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Unset environment variables for process before launching.</td></tr>
                        <td class="content">
                            <b>(gdb)</b> unset env DEBUG<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings remove target.env-vars DEBUG<br>
                            <b>(lldb)</b> set rem target.env-vars DEBUG<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the arguments that will be or were passed to the program when run.</td></tr>
                        <td class="content">
                            <b>(gdb)</b> show args<br>
                            Argument list to give program being debugged when it is started is &quot;1 2 3&quot.<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings show target.run-args<br>
                            target.run-args (array of strings) =<br>
                            [0]: &quot;1&quot;<br>
                            [1]: &quot;2&quot;<br>
                            [2]: &quot;3&quot;<br>
                        </td>
                    </tr>


                    <tr><td class="header" colspan="2">Set environment variables for process and launch process in one command.</td></tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process launch -v DEBUG=1<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Attach to a process with process ID 123.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> attach 123
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process attach --pid 123<br>
                            <b>(lldb)</b> attach -p 123
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Attach to a process named "a.out".</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> attach a.out
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process attach --name a.out<br>
                            <b>(lldb)</b> pro at -n a.out
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Wait for a process named "a.out" to launch and attach.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> attach -waitfor a.out
                        </td>
                        <td class="content">
                            <b>(lldb)</b> process attach --name a.out --waitfor<br>
                            <b>(lldb)</b> pro at -n a.out -w
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Attach to a remote gdb protocol server running on system "eorgadd", port 8000.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> target remote eorgadd:8000
                        </td>
                        <td class="content">
                            <b>(lldb)</b> gdb-remote eorgadd:8000
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Attach to a remote gdb protocol server running on the local system, port 8000.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> target remote localhost:8000
                        </td>
                        <td class="content">
                            <b>(lldb)</b> gdb-remote 8000
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Attach to a Darwin kernel in kdp mode on system "eorgadd".</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> kdp-reattach eorgadd
                        </td>
                        <td class="content">
                            <b>(lldb)</b> kdp-remote eorgadd
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Do a source level single step in the currently selected thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> step<br>
                            <b>(gdb)</b> s
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread step-in<br>
                            <b>(lldb)</b> step<br>
                            <b>(lldb)</b> s
                        </td>
                    </tr>


                    <tr><td class="header" colspan="2">Do a source level single step over in the currently selected thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> next<br>
                            <b>(gdb)</b> n
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread step-over<br>
                            <b>(lldb)</b> next<br>
                            <b>(lldb)</b> n<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Do an instruction level single step in the currently selected thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> stepi<br>
                            <b>(gdb)</b> si
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread step-inst<br>
                            <b>(lldb)</b> si<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Do an instruction level single step over in the currently selected thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> nexti<br>
                            <b>(gdb)</b> ni
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread step-inst-over<br>
                            <b>(lldb)</b> ni
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Step out of the currently selected frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> finish<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread step-out<br>
                            <b>(lldb)</b> finish<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Return immediately from the currently selected frame, with an optional return value.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> return &lt;RETURN EXPRESSION&gt;<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread return &lt;RETURN EXPRESSION&gt;<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Backtrace and disassemble every time you stop.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target stop-hook add<br>
                            Enter your stop hook command(s).  Type 'DONE' to end.<br>
                            &gt; bt<br>
                            &gt; disassemble --pc<br>
                            &gt; DONE<br>
                            Stop hook #1 added.<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Run until we hit line <b>12</b> or control leaves the current function.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> until 12
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread until 12
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>
                <div class="postfooter"></div>

                <h1 class ="postheader">Breakpoint Commands</h1>
                <div class="post">

                    <p>

                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint at all functions named <b>main</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break main
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --name main<br>
                            <b>(lldb)</b> br s -n main<br>
                            <b>(lldb)</b> b main
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint in file <b>test.c</b> at line <b>12</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break test.c:12
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --file test.c --line 12<br>
                            <b>(lldb)</b> br s -f test.c -l 12<br>
                            <b>(lldb)</b> b test.c:12
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint at all C++ methods whose basename is <b>main</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break main<br>
                            <i>(Hope that there are no C functions named <b>main</b>)</i>.
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --method main<br>
                            <b>(lldb)</b> br s -M main<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint at and object C function: <b>-[NSString stringWithFormat:]</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break -[NSString stringWithFormat:]<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --name "-[NSString stringWithFormat:]"<br>
                            <b>(lldb)</b> b -[NSString stringWithFormat:]<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint at all Objective-C methods whose selector is <b>count</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break count<br>
                            <i>(Hope that there are no C or C++ functions named <b>count</b>)</i>.
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --selector count<br>
                            <b>(lldb)</b> br s -S count<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Set a breakpoint by regular expression on function name.</td></tr>

                    <tr>
                        <td class="content">
                            <b>(gdb)</b> rbreak regular-expression<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --func-regex regular-expression<br>
                            <b>(lldb)</b> br s -r regular-expression<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Ensure that breakpoints by file and line work for #included .c/.cpp/.m files.</td></tr>

                    <tr>
                        <td class="content">
                            <b>(gdb)</b> b foo.c:12<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings set target.inline-breakpoint-strategy always<br>
                            <b>(lldb)</b> br s -f foo.c -l 12<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a breakpoint by regular expression on source file contents.</td></tr>

                    <tr>
                        <td class="content">
                            <b>(gdb)</b> shell grep -e -n pattern source-file<br>
                            <b>(gdb)</b> break source-file:CopyLineNumbers<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --source-pattern regular-expression --file SourceFile<br>
                            <b>(lldb)</b> br s -p regular-expression -f file<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a conditional breakpoint</td></tr>

                    <tr>
                        <td class="content">
                            <b>(gdb)</b> break foo if strcmp(y,&quot;hello&quot;) == 0<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint set --name foo --condition '(int)strcmp(y,&quot;hello&quot;) == 0'<br>
                            <b>(lldb)</b> br s -n foo -c '(int)strcmp(y,&quot;hello&quot;) == 0'<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">List all breakpoints.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info break<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint list<br>
                            <b>(lldb)</b> br l<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Delete a breakpoint.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> delete 1<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> breakpoint delete 1<br>
                            <b>(lldb)</b> br del 1<br>
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>
                <div class="postfooter"></div>

                <h1 class ="postheader">Watchpoint Commands</h1>
                <div class="post">

                    <p>

                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a watchpoint on a variable when it is written to.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> watch global_var
                        </td>
                        <td class="content">
                            <b>(lldb)</b> watchpoint set variable global_var<br>
                            <b>(lldb)</b> wa s v global_var<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a watchpoint on a memory location when it is written into. The size of the region to watch for defaults to the pointer size if no '-x byte_size' is specified.
                        This command takes raw input, evaluated as an expression returning an unsigned integer pointing to the start of the region, after the '--' option terminator.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> watch -location g_char_ptr
                        </td>
                        <td class="content">
                            <b>(lldb)</b> watchpoint set expression -- my_ptr<br>
                            <b>(lldb)</b> wa s e -- my_ptr<br>
                      </td>
                    </tr>

                    <tr><td class="header" colspan="2">Set a condition on a watchpoint</b>.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> watch set var global<br>
                            <b>(lldb)</b> watchpoint modify -c '(global==5)'<br>
                            <b>(lldb)</b> c<br>
                            ...<br>
                            <b>(lldb)</b> bt<br>
                            * thread #1: tid = 0x1c03, 0x0000000100000ef5 a.out`modify + 21 at main.cpp:16, stop reason = watchpoint 1<br>
                              frame #0: 0x0000000100000ef5 a.out`modify + 21 at main.cpp:16<br>
                              frame #1: 0x0000000100000eac a.out`main + 108 at main.cpp:25<br>
                              frame #2: 0x00007fff8ac9c7e1 libdyld.dylib`start + 1<br>
                            <b>(lldb)</b> frame var global<br>
                            (int32_t) global = 5<br>
                        </td>
                   </tr>

                   <tr><td class="header" colspan="2">List all watchpoints.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info break<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> watchpoint list<br>
                            <b>(lldb)</b> watch l<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Delete a watchpoint.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> delete 1<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> watchpoint delete 1<br>
                            <b>(lldb)</b> watch del 1<br>
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>

            <div class="postfooter"></div>
            <h1 class ="postheader">Examining Variables</h1>
                <div class="post">
                    <p>
                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the arguments and local variables for the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info args<br>
                            and<br>
                            <b>(gdb)</b> info locals<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame variable<br>
                            <b>(lldb)</b> fr v<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the local variables for the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info locals<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame variable --no-args<br>
                            <b>(lldb)</b> fr v -a<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the contents of local variable "bar".</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> p bar<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame variable bar <br>
                            <b>(lldb)</b> fr v bar <br>
                            <b>(lldb)</b> p bar <br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the contents of local variable "bar" formatted as hex.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> p/x bar<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame variable --format x bar <br>
                            <b>(lldb)</b> fr v -f x bar <br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the contents of global variable "baz".</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> p baz<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target variable baz <br>
                            <b>(lldb)</b> ta v baz <br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the global/static variables defined in the current source file.</td></tr>
                    <tr>
                        <td class="content">
                            n/a<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target variable <br>
                            <b>(lldb)</b> ta v <br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Display the variables "argc" and "argv" every time you stop.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> display argc<br>
                            <b>(gdb)</b> display argv<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target stop-hook add --one-liner "frame variable argc argv"<br>
                            <b>(lldb)</b> ta st a -o "fr v argc argv"<br>
                            <b>(lldb)</b> display argc<br>
                            <b>(lldb)</b> display argv<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Display the variables "argc" and "argv" only when you stop in the function named <b>main</b>.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target stop-hook add --name main --one-liner "frame variable argc argv"<br>
                            <b>(lldb)</b> ta st a -n main -o "fr v argc argv"<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Display the variable "*this" only when you stop in c class named <b>MyClass</b>.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> target stop-hook add --classname MyClass --one-liner "frame variable *this"<br>
                            <b>(lldb)</b> ta st a -c MyClass -o "fr v *this"<br>
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>




            <h1 class ="postheader">Evaluating expressions</h1>
                <div class="post">
                    <p>
                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Evaluating a generalized expression in the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> print (int) printf ("Print nine: %d.", 4 + 5)<br>
                              or if you don't want to see void returns: <br>
                            <b>(gdb)</b> call (int) printf ("Print nine: %d.", 4 + 5)<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> expr (int) printf ("Print nine: %d.", 4 + 5)<br>
                              or using the print alias:<br>
                            <b>(lldb)</b> print (int) printf ("Print nine: %d.", 4 + 5)<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Creating and assigning a value to a convenience variable.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> set $foo = 5<br>
                            <b>(gdb)</b> set variable $foo = 5<br>
                              or using the print command <br>
                            <b>(gdb)</b> print $foo = 5<br>
                              or using the call command <br>
                            <b>(gdb)</b> call $foo = 5<br>
                              and if you want to specify the type of the variable:
                            <b>(gdb)</b> set $foo = (unsigned int) 5<br>

                        </td>
                        <td class="content">
                          In lldb you evaluate a variable declaration expression as you would write it in C:<br>
                            <b>(lldb)</b> expr unsigned int $foo = 5<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Printing the ObjC "description" of an object.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> po [SomeClass returnAnObject]<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> expr -o -- [SomeClass returnAnObject]<br>
                              or using the po alias:<br>
                            <b>(lldb)</b> po [SomeClass returnAnObject]<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Print the dynamic type of the result of an expression.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> set print object 1<br>
                            <b>(gdb)</b> p someCPPObjectPtrOrReference<br>
                              only works for C++ objects.<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> expr -d 1 -- [SomeClass returnAnObject]<br>
                            <b>(lldb)</b> expr -d 1 -- someCPPObjectPtrOrReference<br>
                              or set dynamic type printing to be the default:
                            <b>(lldb)</b> settings set target.prefer-dynamic run-target<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Calling a function so you can stop at a breakpoint in the function.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> set unwindonsignal 0<br>
                            <b>(gdb)</b> p function_with_a_breakpoint()<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> expr -i 0 -- function_with_a_breakpoint()<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Calling a function that crashes, and stopping when the function crashes.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> set unwindonsignal 0<br>
                            <b>(gdb)</b> p function_which_crashes()<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> expr -u 0 -- function_which_crashes()<br>
                        </td>
                    </tr>


                    </table>
                    <p>
                </div>

            <h1 class ="postheader">Examining Thread State</h1>
                <div class="post">
                    <p>
                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>


                    <tr><td class="header" colspan="2">List the threads in your program.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info threads<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread list<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Select thread 1 as the default thread for subsequent commands.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> thread 1<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread select 1<br>
                            <b>(lldb)</b> t 1<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the stack backtrace for the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> bt<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread backtrace<br>
                            <b>(lldb)</b> bt<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the stack backtraces for all threads.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> thread apply all bt
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread backtrace all<br>
                            <b>(lldb)</b> bt all
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Backtrace the first five frames of the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> bt 5
                        </td>
                        <td class="content">
                            <b>(lldb)</b> thread backtrace -c 5<br>
                            <b>(lldb)</b> bt 5 (<i>lldb-169 and later</i>)<br>
                            <b>(lldb)</b> bt -c 5 (<i>lldb-168 and earlier</i>)
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Select a different stack frame by index for the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> frame 12
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame select 12<br>
                            <b>(lldb)</b> fr s 12<br>
                            <b>(lldb)</b> f 12<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">List information about the currently selected frame in the current thread.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame info<br>
                        </td>
                   </tr>

                    <tr><td class="header" colspan="2">Select the stack frame that called the current stack frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> up
                        </td>
                        <td class="content">
                            <b>(lldb)</b> up<br>
                            <b>(lldb)</b> frame select --relative=1<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Select the stack frame that is called by the current stack frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> down
                        </td>
                        <td class="content">
                            <b>(lldb)</b> down<br>
                            <b>(lldb)</b> frame select --relative=-1<br>
                            <b>(lldb)</b> fr s -r-1<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Select a different stack frame using a relative offset.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> up 2<br>
                            <b>(gdb)</b> down 3<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> frame select --relative 2<br>
                            <b>(lldb)</b> fr s -r2<br>
                            <br>
                            <b>(lldb)</b> frame select --relative -3<br>
                            <b>(lldb)</b> fr s -r-3<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the general purpose registers for the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info registers<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register read<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Write a new decimal value '123' to the current thread register 'rax'.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> p $rax = 123<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register write rax 123<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Skip 8 bytes ahead of the current program counter (instruction pointer). Note that we use backticks to evaluate an expression and insert the scalar result in LLDB.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> jump *$pc+8<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register write pc `$pc+8`<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the general purpose registers for the current thread formatted as <b>signed decimal</b>. LLDB tries to use
                         the same format characters as <b>printf(3)</b> when possible.  Type "help format" to see the full list of format specifiers.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register read --format i<br>
                            <b>(lldb)</b> re r -f i<br>
							<br>
							<i>LLDB now supports the GDB shorthand format syntax but there can't be space after the command:</i><br>
                            <b>(lldb)</b> register read/d<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show all registers in all register sets for the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info all-registers<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register read --all<br>
                            <b>(lldb)</b> re r -a<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the values for the registers named "rax", "rsp" and "rbp" in the current thread.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info all-registers rax rsp rbp<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register read rax rsp rbp<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show the values for the register named "rax" in the current thread formatted as <b>binary</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> p/t $rax<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> register read --format binary rax<br>
                            <b>(lldb)</b> re r -f b rax<br>
							<br>
							<i>LLDB now supports the GDB shorthand format syntax but there can't be space after the command:</i><br>
							<b>(lldb)</b> register read/t rax<br>
							<b>(lldb)</b> p/t $rax<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Read memory from address 0xbffff3c0 and show 4 hex uint32_t values.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> x/4xw 0xbffff3c0<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> memory read --size 4 --format x --count 4 0xbffff3c0<br>
                            <b>(lldb)</b> me r -s4 -fx -c4 0xbffff3c0<br>
                            <b>(lldb)</b> x -s4 -fx -c4 0xbffff3c0<br>
							<br>
							<i>LLDB now supports the GDB shorthand format syntax but there can't be space after the command:</i><br>
                            <b>(lldb)</b> memory read/4xw 0xbffff3c0<br>
                            <b>(lldb)</b> x/4xw 0xbffff3c0<br>
                            <b>(lldb)</b> memory read --gdb-format 4xw 0xbffff3c0<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Read memory starting at the expression "argv[0]".</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> x argv[0]<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> memory read `argv[0]`<br>
							<i><b>NOTE:</b> any command can inline a scalar expression result (as long as the target is stopped) using backticks around any expression:</i><br>
                            <b>(lldb)</b> memory read --size `sizeof(int)` `argv[0]`<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Read 512 bytes of memory from address 0xbffff3c0 and save results to a local file as <b>text</b>.</td></tr>
                    <tr>
                        <td class="content">
                          <b>(gdb)</b> set logging on<br>
                          <b>(gdb)</b> set logging file /tmp/mem.txt<br>
                          <b>(gdb)</b> x/512bx 0xbffff3c0<br>
                          <b>(gdb)</b> set logging off<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> memory read --outfile /tmp/mem.txt --count 512 0xbffff3c0<br>
                            <b>(lldb)</b> me r -o/tmp/mem.txt -c512 0xbffff3c0<br>
                            <b>(lldb)</b> x/512bx -o/tmp/mem.txt 0xbffff3c0<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Save binary memory data starting at 0x1000 and ending at 0x2000 to a file.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> dump memory /tmp/mem.bin 0x1000 0x2000
                        </td>
                        <td class="content">
                            <b>(lldb)</b> memory read --outfile /tmp/mem.bin --binary  0x1000 0x2000<br>
                            <b>(lldb)</b> me r -o /tmp/mem.bin -b 0x1000 0x2000<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Get information about a specific heap allocation (available on Mac OS X only).</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info malloc 0x10010d680
                        </td>
                        <td class="content">
                            <b>(lldb)</b> command script import lldb.macosx.heap<br>
                            <b>(lldb)</b> process launch --environment MallocStackLogging=1 -- [ARGS]<br>	
                            <b>(lldb)</b> malloc_info --stack-history 0x10010d680<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Get information about a specific heap allocation and cast the result to any dynamic type that can be deduced (available on Mac OS X only)</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> command script import lldb.macosx.heap<br>
                            <b>(lldb)</b> malloc_info --type 0x10010d680<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Find all heap blocks that contain a pointer specified by an expression EXPR (available on Mac OS X only).</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> command script import lldb.macosx.heap<br>
                            <b>(lldb)</b> ptr_refs EXPR <br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Find all heap blocks that contain a C string anywhere in the block (available on Mac OS X only).</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> command script import lldb.macosx.heap<br>
                            <b>(lldb)</b> cstr_refs CSTRING<br>
                        </td>
                    </tr>
                    <tr><td class="header" colspan="2">Disassemble the current function for the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> disassemble
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --frame<br>
                            <b>(lldb)</b> di -f
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Disassemble any functions named <b>main</b>.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> disassemble main
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --name main<br>
                            <b>(lldb)</b> di -n main
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Disassemble an address range.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> disassemble 0x1eb8 0x1ec3
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --start-address  0x1eb8 --end-address 0x1ec3<br>
                            <b>(lldb)</b> di -s 0x1eb8 -e 0x1ec3<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Disassemble 20 instructions from a given address.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> x/20i 0x1eb8
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --start-address  0x1eb8 --count 20<br>
                            <b>(lldb)</b> di -s 0x1eb8 -c 20<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Show mixed source and disassembly for the current function for the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            n/a
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --frame --mixed<br>
                            <b>(lldb)</b> di -f -m
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Disassemble the current function for the current frame and show the opcode bytes.</td></tr>
                    <tr>
                        <td class="content">
                            n/a
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --frame --bytes<br>
                            <b>(lldb)</b> di -f -b
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Disassemble the current source line for the current frame.</td></tr>
                    <tr>
                        <td class="content">
                            n/a
                        </td>
                        <td class="content">
                            <b>(lldb)</b> disassemble --line<br>
                            <b>(lldb)</b> di -l
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>
                <div class="postfooter"></div>

                <h1 class ="postheader">Executable and Shared Library Query Commands</h1>
                <div class="post">

                    <p>

                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>


                    <tr><td class="header" colspan="2">List the main executable and all dependent shared libraries.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info shared<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image list<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Look up information for a raw address in the executable or any shared libraries.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info symbol 0x1ec4<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image lookup --address 0x1ec4<br>
                            <b>(lldb)</b> im loo -a 0x1ec4<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Look up functions matching a regular expression in a binary.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info function &lt;FUNC_REGEX&gt;<br>
                        </td>
                        <td class="content">
                            This one finds debug symbols:<br>
                            <b>(lldb)</b> image lookup -r -n &lt;FUNC_REGEX&gt;<br><br>
                            This one finds non-debug symbols:<br>
                            <b>(lldb)</b> image lookup -r -s &lt;FUNC_REGEX&gt;<br><br>
                            Provide a list of binaries as arguments to limit the search.
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Find full source line information.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> info line 0x1ec4<br>
                        </td>
                        <td class="content">
                          This one is a bit messy at present.  Do:<br><br>
                            <b>(lldb)</b> image lookup -v --address 0x1ec4<br><br>
                          and look for the LineEntry line, which will have the full source path and
                          line range information.<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Look up information for an address in <b>a.out</b> only.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image lookup --address 0x1ec4 a.out<br>
                            <b>(lldb)</b> im loo -a 0x1ec4 a.out<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Look up information for for a type <code>Point</code> by name.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> ptype Point<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image lookup --type Point<br>
                            <b>(lldb)</b> im loo -t Point<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Dump all sections from the main executable and any shared libraries.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> maintenance info sections<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image dump sections<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Dump all sections in the <b>a.out</b> module.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image dump sections a.out<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Dump all symbols from the main executable and any shared libraries.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image dump symtab<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Dump all symbols in <b>a.out</b> and <b>liba.so</b>.</td></tr>
                    <tr>
                        <td class="content">
                        </td>
                        <td class="content">
                            <b>(lldb)</b> image dump symtab a.out liba.so<br>
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>
            <div class="postfooter"></div>
            <h1 class ="postheader">Miscellaneous</h1>
                <div class="post">
                    <p>
                    <table class="stats" width="620" cellspacing="0">
                    <tr>
                        <td class="hed" width="50%">GDB</td>
                        <td class="hed" width="50%">LLDB</td>
                    </tr>

                    <tr><td class="header" colspan="2">Search command help for a keyword.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> apropos keyword<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> apropos keyword<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Echo text to the screen.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> echo Here is some text\n<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> script print &quot;Here is some text&quot;<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Remap source file pathnames for the debug session.  If your source files are no longer located in the same location as when the program was built --- maybe the program was built on a different computer --- you need to tell the debugger how to find the sources at their local file path instead of the build system's file path.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> set pathname-substitutions /buildbot/path /my/path<br>
                        </td>
                        <td class="content">
                            <b>(lldb)</b> settings set target.source-map /buildbot/path /my/path<br>
                        </td>
                    </tr>

                    <tr><td class="header" colspan="2">Supply a catchall directory to search for source files in.</td></tr>
                    <tr>
                        <td class="content">
                            <b>(gdb)</b> directory /my/path<br>
                        </td>
                        <td class="content">
                            (<i>No equivalent command - use the source-map instead.</i>)<br>
                        </td>
                    </tr>

                    </table>
                    <p>
                </div>

                <div class="postfooter"></div>

                <p>


            </div>
        </div>
    </div>
</div>
</body>
</html>
