许多IDE都有一个“变量”窗格,您可以在其中添加/删除要监视的变量。每次执行代码时都会更新这些变量值。
GDB中有这样的选项吗?
答案 0 :(得分:2)
如果您想要gdb的图形版本,那么您可以查看ddd。它有您正在寻找的确切选项。
gdb - 不是图形 - 无法在窗格中提供这种功能,但您可以使用display命令在每个步骤后显示变量。
Edit1:我认为实现这一目标最实用的方法(以及我在实践中所做的)是使用手表。从提示符开始:watch varname
将在写入变量时中断。对于全局变量,有时最好使用print &varname
获取变量的地址,然后在地址watch (int)0xdeadbeef
上设置监视,用print命令的输出替换deadbeef,并使用如果它不是int,那么除了int之外的东西。
Edit2:我忘记了gdb' tui mode。我不相信你可以告诉它观看一个特定的变量,但你可以让它在你单步执行时显示寄存器(或源代码或其他东西)。在提示符中(启动gdb -tui
后),输入:tui reg general
。这将在每个步骤之后显示变量,当它在寄存器中时。 More tui options