我正在开发一个非常大的项目,我想用gdb调试。不幸的是,使用-g
标志进行编译需要两天半的时间并且输出大于60Go的库(项目需要大约1Go而没有-g
)。
是否有更简单的方法来获取符号表(即能够回溯),如果是,如何?
我已经看到gdb提供了三个级别的调试(-g level ,如here所述),它会有帮助吗?会string
吗?
提前致谢。
答案 0 :(得分:6)
对于仅包含函数名称的回溯,您根本不需要-g
。
对于包含文件和行信息的回溯,使用最近的GCC版本,请尝试-gmlt
选项(最小行表)。请注意,GDB中不会提供任何本地变量信息。
如果你想要局部变量,你可能想要使用-gdwarf-4
。
您指出的文档适用于gcc-2.95
。这是古代版本。如果您仍在使用它,那么第一个任务应该是切换到(当前)gcc-4.6.2
答案 1 :(得分:1)
如果您对要调试的源文件有所了解compile them with -g option
。确保你也link with -g
选项。现在你有一个部分调试图像。