Skip to content

Instantly share code, notes, and snippets.

@SaganRitual
Forked from ryanchang/lldb_cheat_sheet.md
Created January 21, 2019 18:16
Show Gist options
  • Save SaganRitual/6e9646631506b6352b78c2ece6ee824e to your computer and use it in GitHub Desktop.
Save SaganRitual/6e9646631506b6352b78c2ece6ee824e to your computer and use it in GitHub Desktop.
LLDB Cheat Sheet

LLDB Cheat Sheet

A complete gdb to lldb command map.

Print out

  • Print object
(lldb) po responseObject
(lldb) po [responseObject objectForKey@"state"]
  • p - Print primitive type

Breakpoints

  • List breakpoints
br l
  • br delete - Delete breakpoint
(lldb) br delete 1
  • br e - Enable breakpoint
  • br di - Disable breakpoint
  • b - Add breakpoint
(lldb) b MyViewController.m:30
  • br set - Add symbolic breakpoint
(lldb) br set -n viewDidLoad
  • Conditional break
for(PlayerItem *item in player.inventory) {
    totalValue += item.value;
}

Set a conditional breakpoint that triggers only when totalValue is greater than 1000:

(lldb) b MerchantViewController.m:32
Breakpoint 3: where = lootcollector`-[MerchantViewController] ...
(lldb) br mod -c "totalValue > 1000" 3

Reset the condition:

(lldb) br mod -c "" 3
  • Run a debugger command from a breakpoint
(lldb) br com add 2
Enter your debugger command(s). Type 'DONE' to end.
> bt
> continue
> DONE
  • Resume excution
(lldb) continue
  • Step over
(lldb) n
  • Step in
(lldb) s
  • Print backtrace
(lldb) bt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment