什么是调试信息?

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

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

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

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

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

完全归功于彼得的答案。 最初我经历了“ 什么是核心转储 ”
然后我遇到了以下链接 ,它实际上说明了它们之间的区别

  1. 调试构建
  2. 发布版本

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