我想了解我们如何跨越函数调用。例如,在以下最简单的程序中:
#include<iostream>
#include "test.h"
using std::cout;
using std::endl;
Uint u;
int main()
{
cout << "executin starting..." << endl;
cout << u.a << endl;
cout << "execution completed" << endl;
}
好的,我通过break 11
命令在第11行设置断点。现在,我想跳过将要调用的所有指令,以打印"executin starting..."
并停止operator <<
调用打印endl
符号。我怎样才能做到这一点?我应该使用哪个命令?
答案 0 :(得分:6)
在gdb中,step
表示单步执行(将调用内部函数),next
表示单步执行(继续并在下一行停止)。
但在您的特定情况下,next
可能不是您想要的,我建议首先step
进入函数打印“executin starting ...”,然后使用finish
继续直到它返回,以便程序停在<<endl
。