VisualStudio的调试器有一个名为Auto Window的功能,它始终显示当前和上一个表达式的值。有没有办法在GDB中实现类似的行为,特别是对于C ++应用程序?
我知道GDB中的display
和commands
命令,但它们似乎并不是我想要的。在VS中,调试器会自动确定要评估的表达式,然后在程序的每一步中对其进行评估。这个功能 - 自动确定要评估的表达式 - 是我想要GDB做的。
例如,假设我正在逐步执行此代码:
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <sstream>
using namespace std;
int main()
{
string s = "Hello";
s += "World";
int i = 2;
i *= 3;
i *= 7;
stringstream ss ;
ss << "The result is " << i << "!\n";
ss << "Now, what was the question?";
s += ss.str();
cout << s << endl;
}
......我即将执行i*=7
行。在VS的Autos窗口中,我看到:
有没有办法让GDB向我展示当前和之前的exppressions的价值,无论它们是什么,如此处的Autos窗口所示? 编辑请注意,我没有在上面的屏幕截图中输入i
- 调试器为我做了这个,并且它显示了程序中每一步的潜在差异表达式。我正在寻找自动显示器。