c - 什么是调试信息?

标签 c debug-information

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

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

我无法从 google 和 wiki 中找到很多与此相关的内容。该标签也没有 wiki。 可能是如果你能给我指出正确的方向,我可以通过写一个来返回。

最佳答案

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

关于c - 什么是调试信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9919911/

相关文章:

c - 格式化 unsigned long long 会导致整数溢出

java - `/usr/bin/strip` 的任何 Java 对应物?

linux - 如何将内核调试信息构建为单独的文件?

c++ - 使用 RasDial 建立 VPN 连接后,是否要防止网络定位向导弹出?

c - fgets 存储文本文件中的未知数据

c++ - 查看C++编译后生成的指令大小?

debugging - 无法在GDB的Rust程序中获得 `main`的当前行

assembly - Gnu 汇编器 (GAS) 中的 CFI 指令有何用途?

c - 进程与消息队列的通信