0

我是一名中级 C 程序员,正在学习他的方式。我最近学习了使用 GDB(实际上是被迫),并且正在使用 Ptrace 做一些代码。
我在浏览 ptrace 上的一些代码时遇到了“DEBUG INFO”。

我想知道这意味着什么以及何时应该将其包含在我的代码中?
什么是调试信息文件?

我无法从谷歌和维基中找到与此相关的太多内容。该标签也没有维基。也许如果你能指出我正确的方向,我可以写一个来回报。

4

3 回答 3

3

您所指的 DEBUG_INFO 可能只是 linux 内核的一个选项(和定义)。在配置内核时启用它会告诉编译器在生成的二进制文件中包含调试信息。此调试信息本身只是附加数据,它允许调试器(以及其他工具,如 strace、addr2line、gprof 等)将其正在执行的二进制代码与其编译源(源代码行、变量名称等)相关联。您可以从DWARF(流行的调试数据格式)开始找到有关调试信息的更多详细信息。

于 2012-03-29T06:43:08.887 回答
1

检查什么是核心转储。您可能会得到一些指示。

于 2012-03-29T06:15:45.493 回答
0

整个功劳归功于彼得的答案。最初我通过“什么是核心转储
然后我遇到了以下链接,它实际上说明了两者之间的区别

  1. 调试构建

  2. 发布版本

    即:调试版本包括调试信息,而构建的版本没有这些信息,并且是优化代码。此答案也可以帮助您获得更多信息。

于 2012-03-29T06:45:47.440 回答