断点

  • break *<address>:将地址address设置为断点
  • break <filename>:<linenum>:将文件filename的第linenum`行设置为断点
  • catch syscall <syscall_name>:将系统调用syscall_name设置为断点

符号信息

  • add-symbol-file <filename> [ -readnow | -readnever ] [ -o offset ] [ textaddress ] [ -s section addr ... ]:从文件filename中读取符号信息
  • remove-symbol-file <filename>:移除文件filename中的符号信息

TUI(Text User Interface) 模式

开启 TUI 模式

  • gdb -tui <file>:进入 gdb,并开启 TUI 模式
  • Ctrl+x a:进入 gdb 之后,输入该命令可以开启 TUI 模式,也可以关闭 TUI 模式
  • tui enable:进入 gdb 之后,输入该命令可以开启 TUi 模式

关闭 TUI 模式

  • Ctrl+x a:在开启 TUI 模式的状态下,再输入该命令,可以关闭 TUI 模式
  • tui disable:关闭 TUI 模式

TUI 模式布局(layout)操作

  • layout <next | prev | [src | asm | split | regs]>:调整 TUI 模式下的窗口布局

布局中窗口操作

  • info win:显示窗口信息
  • winheight <src | asm | cmd | regs> [+ | -] <linenum>:调整窗口的大小

TUI 模式窗口焦点调整

  • focus <next | prev | [src | asm | cmd | regs]>:设置当前焦点为指定窗口。特别地,当命令(cmd)窗口没有被设置为焦点时,方向键不对 cmd 窗口起作用,此时,可以使用Ctrl + p表示向上键,Ctrl + n表示向下键,Ctrl + f表示向右键,Ctrl + b表示向左键

窗口刷新

  • refresh:在调试代码有输出信息,从而打乱屏幕显示的时候看,该命令特别有用

参考