rsp+
(on the stack)
(lldb) Command | Description |
run (r) | Starting execution, which will continue unabated until a breakpoint is hit or the process terminates. |
process launch --stop-at-entry | Strt execution stopping at the entry point |
continue (c) | Continue execution of the debugged process. |
nexti (n / ni) | Execute the next instruction. This command will skip over function calls. |
stepi (s / si) | Execute the next instruction. Unlike the nexti command, this command will step into function calls. |
finish (f) | Execute the rest of the instructions in the current function (“frame”) return and halt. |
control + c | Pause execution. If the process has been run (r) or continued (c), this will cause the process to halt ...wherever it is currently executing. |
breakpoint (b) |
breakpoint delete <num> |
help | help breakpoint #Get help of breakpoint command help memory write #Get help to write into the memory |
reg | reg read reg read $rax reg read $rax --format <format> reg write $rip 0x100035cc0 |
x/s <reg/memory address> | Display the memory as a null-terminated string. |
x/i <reg/memory address> | Display the memory as assembly instruction. |
x/b <reg/memory address> | Display the memory as byte. |
print object (po) | This will print the object referenced by the param po $raw
Note that most of Apple’s Objective-C APIs or methods return objects, and thus should be displayed via the “print object” (po) command. If po doesn't produce a meaningful output use |
memory | memory read 0x000.... memory read $x0+0xf2a memory write 0x100600000 -s 4 0x41414141 #Write AAAA in that address memory write -f s $rip+0x11f+7 "AAAA" #Write AAAA in the addr |
disassembly | dis #Disas current function dis -n <funcname> #Disas func dis -n <funcname> -b <basename> #Disas func |
parray | parray 3 (char **)$x1 # Check array of 3 components in x1 reg |
image dump sections | Print map of the current process memory |
image dump symtab <library> | image dump symtab CoreNLP #Get the address of all the symbols from CoreNLP |