TUI调试模式

GDB text user interface(TUI)是GDB的一个多窗口的符号终端,能够同时显示源文件、汇编输出、寄存器等情况,本文将针对tui的使用进行一些总结。

基本命令

在GDB中激活TUI

在使用GDB时,可以通过gdb -tui的方式打开tui,也可以打开gdb后,输入tui enable/disable激活、关闭TUI,TUI的界面如下所示:

图片名称

上中下分别为源代码窗口、汇编代码窗口和命令行窗口

不同的窗口

在TUI中,一共可以显示如下四种窗口:

  • 命令窗口:用于GDB调试时命令输入
  • 源代码窗口:显示程序源代码,当前行及断点等信息,(命令窗口中输入layout src
  • 汇编窗口:显示程序汇编代码,(命令窗口中输入layout asm
  • 寄存器窗口:显示寄存器中的内容,(命令行窗口中输入layout regs

如果需要切分窗口,输入layout split,可以增加显示窗口的数目

tui配置

每次打开GDB,我们都需要手动输入上面的命令激活tui,不太方便。我们可以将上述命令写入~/.gdbinit中,每次打开gdb,都会执行上述指令

1
2
3
tui enable
layout asm
layout reg

查看调试历史

在TUI模式下,无法通过鼠标滑轮查看历史调试信息,这种情况下我们一般将调试log输出到其他文件,并进行查看,在.gdbinit文件种加入如下两句:

1
2
set trace-commands on
set logging on

此时在gdb中运行命令,会在启动gdb的路径建立gdb.txt文件。

1
tail -f gdb.txt

参考文献

0%