Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想编译一行代码并从中生成调试信息-
int foo(int);
显然,您不会期望由此生成任何调试信息,因为它不会在任何地方调用且未定义,但我想知道是否可以设置任何选项来强制生成此声明的信息。 . 我已经尝试过g++ -g -c -O0 foo.cpp,但它没有生成任何信息。
g++ -g -c -O0 foo.cpp
函数声明甚至不会成为可执行文件。该行仅用于编译器,二进制文件中没有任何生成的代码。由于它在编译过程中消失,因此无法生成调试信息。
为函数定义而不是声明生成调试信息。为函数声明生成调试信息是没有意义的;这样的调试信息将毫无用处。
类型声明可能会产生调试信息,因为这将帮助调试器定位该类型对象的数据成员,但自由函数声明不会产生有用的调试信息。