15.3. 使用 GCC 启用 C 和 C++ 应用程序


由于调试信息较大,因此默认情况下,不会包含在可执行文件中。要为您的 C 和 C++ 应用程序进行调试,您必须明确指示编译器创建调试信息。

使用 GCC 启用调试信息

要在编译和链接代码时使用 GCC 创建调试信息,请使用 -g 选项:

$ gcc ... -g ...
  • 由编译器和链接器执行的优化可能会导致可执行代码难以与原始源代码相关:变量可以被优化,取消滚动,将操作合并到周围的代码中。这会影响调试。要改进调试体验,请考虑使用 -Og 选项设置优化。但是,更改优化级别会更改可执行代码,并可能会更改实际行为,以便删除一些程序错误。
  • f compare-debug GCC 选项测试 GCC 使用调试信息编译的代码,无需调试信息。如果生成的两个二进制文件相同,则测试将通过。此测试可确保可执行代码不受任何调试选项的影响,进一步确保调试代码中没有隐藏的错误。请注意,使用 -fcompare-debug 选项可显著增加编译时间。有关这个选项的详情,请查看 GCC 手册页。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.