GCC:如何仅生成行号调试信息?

Mar*_*sky 9 c++ debugging gcc compilation

我想提高大型项目的构建速度.opt构建使用-O2 -g编译.我注意到没有-g,编译变得更快,大约10-20%.生成的二进制文件具有足够的信息来分析崩溃,除了行号.有没有办法包括行号信息,但没有别的?

根据http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html,行号仅在级别2(即-g2或默认值-g)或更高级别生成.但根据这个http://gcc.gnu.org/wiki/DebugFission,行号只是调试信息的一小部分(1%).所以对我来说最好是-g0或-g1但是有行号.这可能吗?

最好的问候,马丁

Mar*_*sky 7

谷歌搜索Matthieu提到的Clang选项,我找到了一个gcc的补丁,可以满足我的需求.它已经提交给主干,但已经有两年了.这意味着库存GCC无法做到这一点,但使用此补丁,它可以使用选项"-gmlt"来完成

http://old.nabble.com/-patch--Add-new--gmlt-option-for-min.-debug-info-with-line-tables-%28issue4440072%29-td31482851.html

  • 做得好!我也尝试使用谷歌搜索选项,但在gcc中没有得到任何东西.很遗憾补丁还在等待,你可能想要提出它/表达你对它的兴趣. (3认同)

Mat*_* M. 6

你错了吗?我知道Clang支持-gline-tables-only,但据我所知,gcc没有; 它确实支持-g1,但没有行信息.