User Tools

Site Tools


gdb

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gdb [2017/09/20 00:10] – created fe80:a5b0:8fc5:656d:b429:1723:31ec:834egdb [2024/11/14 06:58] (current) A User Not Logged in
Line 1: Line 1:
-GDB cheatsheet:+====== General ====== 
 + 
 +attach to running process without break: 
 + 
 +  gdb attach -ex cont -iex "set pagination off" $(pidof process_name)
  
 <code> <code>
Line 7: Line 11:
 x/li $eip x/li $eip
 x/8wx $esp x/8wx $esp
 +end
 +</code>
  
 +====== Print Command ======
 +
 +print string pointed by $rdi:
 +
 +  x/s $rdi
 +  
 +show bytes pointed by register with offset:
 +
 +  x/16bx $rsi+0x42
 +  
 +print array with size as bytes in registers:
 +
 +  p/x *(char *)$rcx@$dx
 +  p/x (char[size]) *$rcx
 +
 +====== Breakpoint ======
 +
 +break on address:
 +
 +  b *0xdeadbeef
 +
 +break at offset to function name:
 +
 +<code>
 +b *(&func_name+0xbeef)
 +b *(funcname+0xbeef)
 +b *('class::method'+0xbeef)
 </code> </code>
 +
 +set conditional breakpoint:
 +
 +  break dlopen if strcmp(file, "libc.so") == 0  
 +
 +set logpoint:
 +
 +<code>
 +break func_name
 +commands
 +  silent
 +  printf "msg: %d\n", *($rdi+0xbeef)
 +  cont
 +end
 +
 +</code>
 +  
 +  
 +
gdb.1505866250.txt.gz · Last modified: by fe80:a5b0:8fc5:656d:b429:1723:31ec:834e

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki