LLDB to GDB Command Map
Below is a table of LLDB commands with the GDB counterparts. The built in GDB compatability aliases in GDB are also listed.
Execution Commands
LLDB | GDB |
Launch a process no arguments. |
(lldb) process launch (lldb) run (lldb) r |
(gdb) run (gdb) r |
Launch a process with arguments <args> . |
(lldb) process launch -- <args> (lldb) run -- <args> (lldb) r <args> |
(gdb) run <args> (gdb) r <args> |
Launch a process for with arguments a.out 1 2 3 without having to supply the args every time. |
% lldb a.out 1 2 3 (lldb) run ... (lldb) run ... |
% gdb --args a.out 1 2 3 (gdb) run ... (gdb) run ... |
Launch a process with arguments in new terminal window (Mac OS X only). |
(lldb) process launch --tty -- <args> (lldb) process launch -t -- <args> |
Launch a process with arguments in existing terminal |
(lldb) process launch --tty=/dev/ttys006 -- <args> (lldb) process launch -t/dev/ttys006 -- <args> |
Attach to a process with process ID 123. | |
(lldb) process attach --pid 123 (lldb) attach -p 123 |
(gdb) attach 123 |
Attach to a process named "a.out". | |
(lldb) process attach --name a.out (lldb) process attach -n a.out |
(gdb) attach a.out |
Wait for a process named "a.out" to launch and attach. | |
(lldb) process attach --name a.out --waitfor (lldb) process attach -n a.out -w |
(gdb) attach -waitfor a.out |
Do a source level single step in the currently selected thread. | |
(lldb) thread step-in (lldb) step (lldb) s |
(gdb) step (gdb) s |
Do a source level single step over in the currently selected thread. | |
(lldb) thread step-over (lldb) next (lldb) n |
(gdb) next (gdb) n |
Do an instruction level single step in the currently selected thread. | |
(lldb) thread step-inst (lldb) si |
(gdb) stepi (gdb) si |
Do an instruction level single step over in the currently selected thread. | |
(lldb) thread step-inst-over |
(gdb) nexti (gdb) ni |
Step out of the currently selected frame. | |
(lldb) thread step-out (lldb) finish |
(gdb) finish |
Breakpoint Commands
LLDB | GDB |
Set a breakpoint at all functions named main. | |
(lldb) breakpoint set --name main (lldb) breakpoint set -n main (lldb) b main |
(lldb) break main |
Set a breakpoint in file test.c at line 12. | |
(lldb) breakpoint set --file test.c --line 12 (lldb) breakpoint set -f test.c -l 12 (lldb) b test.c:12 |
(lldb) break test.c:12 |
Set a breakpoint at all C++ methods whose basename is main. | |
(lldb) breakpoint set --method main (lldb) breakpoint set -M main |
(lldb) break main (Hope that there are no C funtions named main). |
Set a breakpoint at all Objective C methods whose selector is count. | |
(lldb) breakpoint set --selector count (lldb) breakpoint set -S count |
(lldb) break count (Hope that there are no C or C++ funtions named count). |
Examining Thread State
LLDB | GDB |
Show the arguments and local variables for the current frame. | |
(lldb) frame variable |
(gdb) info args and (gdb) info locals |
Show the stack backtrace for the current thread. | |
(lldb) thread backtrace (lldb) bt |
(gdb) bt |
Show the stack backtraces for all threads. | |
(lldb) thread backtrace all (lldb) bt all |
(gdb) thread apply all bt |
Show all thread registers. | |
(lldb) register read | (gdb) info all-registers |
Show the values for the thread registers name "rax", "rsp" and "rbp". | |
(lldb) register read rax rsp rbp | (gdb) info all-registers rax rsp rbp |
Read memory from address 0xbffff3c0 and show 4 hex uint32_t values. | |
(lldb) memory read --size 4 --format x --count 4 0xbffff3c0 (lldb) memory read -s4 -fx -c4 0xbffff3c0 (lldb) x -s4 -fx -c4 0xbffff3c0 |
(gdb) x/4xw 0xbffff3c0 |
Read 512 bytes of memory from address 0xbffff3c0 and save results to a local file as text. | |
(lldb) memory read --outfile /tmp/mem.txt --count 512 0xbffff3c0 (lldb) memory read -o/tmp/mem.txt -c512 0xbffff3c0 |
(gdb) set logging on (gdb) set logging file /tmp/mem.txt (gdb) x/512bx 0xbffff3c0 (gdb) set logging off |
Save binary memory data starting at 0x1000 and ending at 0x2000 to a file. | |
(lldb) memory read --outfile /tmp/mem.bin --binary 0x1000 0x1200 (lldb) memory read -o /tmp/mem.bin -b 0x1000 0x1200 |
|
Disassemble the current function for the current frame. | |
(lldb) disassemble --frame (lldb) disassemble -f |
(gdb) disassemble |
Disassemble any functions named main. | |
(lldb) disassemble --name main (lldb) disassemble -n main |
(gdb) disassemble main |
Disassemble an address range. | |
(lldb) disassemble --start-address 0x1eb8 --end-address 0x1ec3 (lldb) disassemble -s 0x1eb8 -e 0x1ec3 |
(gdb) disassemble 0x1eb8 0x1ec3 |
Disassemble 20 instructions from a given address. | |
(lldb) disassemble --start-address 0x1eb8 --count 20 (lldb) disassemble -s 0x1eb8 -c 20 |
(gdb) x/20i 0x1eb8 |
Show mixed source and disassembly for the current function for the current frame. | |
(lldb) disassemble --frame --mixed (lldb) disassemble -f -m |
n/a |
Disassemble the current function for the current frame and show the opcode bytes. | |
(lldb) disassemble --frame --bytes (lldb) disassemble -f -b |
n/a |
Disassemble the current source line for the current frame. | |
(lldb) disassemble --line (lldb) disassemble -l |
n/a |
Executable and Shared Library Query Commands
LLDB | GDB |
List the main executable and all dependent shared libraries. | |
(lldb) image list |
(gdb) info shared |
Lookup information for a raw address in the executable or any shared libraries. | |
(lldb) image lookup --address 0x1ec4 (lldb) image lookup -a 0x1ec4 |
(gdb) info symbol 0x1ec4 |
Lookup information for an address in a.out only. | |
(lldb) image lookup --address 0x1ec4 a.out (lldb) image lookup -a 0x1ec4 a.out |
|
Lookup information for for a type Point by name. | |
(lldb) image lookup --type Point (lldb) image lookup -t Point |
(lldb) ptype Point |
Dump all sections from the main executable and any shared libraries. | |
(lldb) image dump sections |
(gdb) maintenance info sections |
Dump all sections in the a.out module. | |
(lldb) image dump sections a.out |
|
Dump all symbols from the main executable and any shared libraries. | |
(lldb) image dump symtab |
|
Dump all symbols in a.out and liba.so. | |
(lldb) image dump symtab a.out liba.so |