繁体   English   中英

在gcc中使用-g和-O2选项

[英]Using -g and -O2 options in gcc

有没有人经历混合-g(调试符号)和-O2(最佳安全优化)与gcc编译器?
我必须调试分发给最终用户的发布程序的崩溃,这些程序可能会将我发回给核心文件。
我一直习惯称:

gdb << myprogram >> << core file >>

并看看问题出在哪里。 现在我可以看到调用跟踪但没有调试符号我遇到了麻烦。

任何的想法?

它工作正常。

或者,由于优化,有时您使用调试器的源代码与源完全不匹配,但IMHO尽管具有调试符号使调试更容易。

我们在生产环境中一起使用它们,如果客户只看到一次崩溃,这使得调试变得更容易。 它可以让你很好地了解问题所在(不是内存损坏)。

理论上,尽管可执行文件变大,但添加-g不应该真正影响性能。 在嵌入式环境中,这是一个很大的权衡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM