我想了解如何单步执行函数调用。例如,在下面最简单的程序中:
#include <iostream>
#include "test.h"
using std::cout;
using std::endl;
Uint u;
int main()
{
cout << "execution starting..." << endl;
cout << u.a << endl;
cout << "execution completed" << endl;
}
好的,我在 break 11
的第 11 行设置了一个断点命令。现在我想跳过所有将被调用的指令来打印 "execution starting..."
并停在 operator <<
调用打印 endl
象征。我怎样才能做到这一点?我应该使用哪个命令?
最佳答案
在 GDB 中,step
表示介入(将进入调用的函数内部),并且 next
表示跨过(继续并在下一行停止)。
但在您的特定情况下,next
可能不是你想要的,我会先建议step
进入函数打印“执行开始...”,然后使用finish
继续直到它返回,这样程序将停止在 <<endl
.
关于c++ - 我们怎样才能跳过 GDB 中的函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28660449/