GDB cheatsheet
// set a breakpoint
(gdb) break main
// set a breakpoint at an assembly instruction address
(gdb) break *0x0000000000400448
// single-step
(gdb) n
// step into
(gdb) s
// start program
(gdb) r
// continue
(gdb) continue
// print a value
(gdb) p val
// print registers
(gdb) info reg
// print string in memory
(gdb) x/s <addr>
// display next 10 assembly instructions
(gdb) x/10i $pc
// break on syscall
(gdb) catch syscall execve