LLDB LLVM debugger
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
lldb -- <prog> <args>
b <func>runn / sbtframe variablep <expr>cConcepts
Start and attach
lldb <prog>
lldb -- <prog> <args>
lldb -p <pid>
lldb -c <core> <prog>
lldb -b -o run -o bt -- <prog>
run [args]process attach --name <name>
settings set target.run-args <args>
settings set target.env-vars <VAR>=<val>
process detachprocess killquitBreakpoints
b <func>b <file>:<line>
breakpoint set --name <func> --condition
'<cond>'
breakpoint listbreakpoint delete <n>
breakpoint disable <n>
breakpoint enable <n>
breakpoint set --func-regex <regex>
breakpoint set --method <name>
breakpoint modify --condition '<cond>'
<n>
breakpoint modify --ignore-count <count>
<n>
breakpoint command add <n>
Watchpoints
watchpoint set variable <var>
watchpoint set expression -- <addr>
watchpoint listwatchpoint delete <n>
Run control
cnsfinishthread until <line>
thread step-in -r <regex>
settings set target.process.thread.step-avoid-regexp
<regex>
siniprocess statusStack and threads
btbt allframe select <n>
updownframe infothread listthread select <n>
Inspect data
frame variableframe variable <var>
frame variable --format x <var>
target variable <var>
p <expr>expr -- <expr>
parray <count> <ptr>
target stop-hook add -o "frame variable
<var>"
Memory and registers
memory read --size 4 --format x --count 4
<addr>
x/4xw <addr>
memory read --outfile <file> --binary <start>
<end>
memory region --all
register readregister read <reg>
Source and symbols
disassemble --frame
disassemble --name <func>
disassemble --start-address <addr> --count
<n>
image listimage lookup --address <addr>
image lookup -r -n <regex>
image lookup --type <type>
process save-core <file>
From GDB
| GDB | LLDB |
|---|---|
break foo |
b foo |
rbreak <re> |
breakpoint set -r <re> |
info locals |
frame variable |
info break |
breakpoint list |
watch <var> |
watchpoint set variable <var> |
info threads |
thread list |
disassemble |
disassemble --frame |
info registers |
register read |
Recipes
ulimit -c unlimited./<prog> # crashes, writes corelldb -c <core> <prog>(lldb) bt
(lldb) b <file>:<line>(lldb) breakpoint modify -c 'i == 99' 1(lldb) run(lldb) frame variable
(lldb) b main(lldb) run(lldb) watchpoint set variable <var>(lldb) c # stops at the writing line(lldb) bt
(lldb) b <func>(lldb) breakpoint command add 1> frame variable <var>> continue> DONE



