我写了一个简单的test.cc如下:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我编译:
g++ -g test.cc -o test.o
Run Code Online (Sandbox Code Playgroud)
我在线上跑gdb了一个断点"Hello world":
$ gdb test.o
(gdb) b 7
(gdb) c
Run Code Online (Sandbox Code Playgroud)
然后gdb停"Hello world"在线上,但是当我跑
(gdb) s
Run Code Online (Sandbox Code Playgroud)
它无法进入该cout功能.所以我的问题是,我该如何进入这个cout功能呢?
如果它没有与具有调试信息的标准库版本链接,则它不知道如何进入库; 它只能跨越它(也就是说,运行直到控制返回带有调试信息的代码).
请参阅系统文档,了解如何安装标准C和C++库的调试版本.