我写了一个简单的test.cc
如下:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world" << endl;
return 0;
}
然后我编译了:
g++ -g test.cc -o test.o
我运行了 gdb
并在 "Hello world"
行放置了一个断点:
$ gdb test.o
(gdb) b 7
(gdb) c
然后 gdb
停在 "Hello world"
行,但是当我运行时
(gdb) s
它无法进入 cout
函数。所以我的问题是,如何进入 cout
函数?
最佳答案
如果它没有链接到带有调试信息的标准库版本,它不知道如何进入库;它只能越过它(也就是说,运行直到控制权返回到带有调试信息的代码)。
查阅系统文档以了解如何安装标准 C 和 C++ 库的调试版本。
关于c++ - 为什么我不能进入GDB 中的C++ cout 标准库函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167484/