什么是调试信息?

时间:2012-03-29 06:06:49

标签: c debug-information

我是一名正在学习的中级C程序员。我最近学会了使用GDB(强制实际),还使用Ptrace做了一些代码 我正在浏览ptrace上的一些代码并遇到了“DEBUG INFO”。

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

我无法从谷歌和维基找到与此相关的内容。这个标签也没有维基。 也许如果你可以指出我正确的方向,我可以通过写一个来偿还。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

检查what is a core dump。你可能会得到一些指示。

答案 2 :(得分:0)

整个功劳归于彼得的答案。 最初我经历了“What is core dump” 然后我遇到了以下link,它实际上说明了

之间的区别
  1. 调试版本
  2. 发布版

    这是:debug build包含调试信息,而构建的版本没有这些,并且是优化代码。 此answer也可以帮助您获取更多信息。