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 | tui enable |
查看调试历史
在TUI模式下,无法通过鼠标滑轮查看历史调试信息,这种情况下我们一般将调试log输出到其他文件,并进行查看,在.gdbinit
文件种加入如下两句:
1 | set trace-commands on |
此时在gdb中运行命令,会在启动gdb的路径建立gdb.txt
文件。
1 | tail -f gdb.txt |