【发布时间】:2019-11-01 02:29:29
【问题描述】:
对于我的项目,发布版本(使用-O2 标志编译)比调试版本(使用-g -O0 标志编译)具有更高的性能。
所以我必须使用发布版本。
但是,在生产环境中,发布程序有时会产生核心转储。
然后我使用gdb xxx core 调试核心转储文件,但没有足够的信息。
我不关心程序或任何其他文件的大小。我想要最好的性能和最详细的调试信息。
我该怎么办?
【问题讨论】:
-
Debug symbols really don't affect performance。它们会增加二进制大小,但性能不应该受到影响。使用优化和调试符号进行编译。
-
您仍然可以将
-g与优化选项一起使用——它不会影响代码的性能!
标签: c++ c++11 gdb g++ coredump