linux - Linux 上 ELF 的小型转储符号模块 ID 和构建 ID

标签 linux elf minidump

我正在为小型转储的可执行文件生成符号文件。小型转储符号文件中的第一行包含为其生成文件的可执行文件的特定 ID。如何在可执行文件中找到该 ID?当我使用 readelf 检查构建 ID 时,它会有所不同(甚至长度也不同)。

最佳答案

How can I find that id inside the executable?

那个 id 是什么?大概是您的工具使用的那个,只是您没有告诉我们您实际使用的是哪个工具。

大多数 Linux 工具(例如 GDB)在 elf 二进制文件中使用特殊的 NT_GNU_BUILD_ID 注释将调试信息与二进制文件相关联。您可以在 readelf -n a.out 输出中看到该构建 ID。

When I use readelf to check build id then it's something different

再一次,你到底看到了什么?你运行什么命令?

也许它们是一回事,而您只是“看错了”。或者它们的编码方式不同,或者您看错了东西。我们无法判断。

关于linux - Linux 上 ELF 的小型转储符号模块 ID 和构建 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51326809/

相关文章:

linux - 将 ELF 共享库和自定义 binfmt 可执行文件加载到同一 Linux 地址空间

debugging - MiniDumpWriteDump() 函数的参数 : Why do we need a handle and an ID?

linux - 在 Linux Mint 16 上查询 hadoop

c++ - Linux 中的看门狗定时器

linux - 为什么 bash 遇到 read 命令时以参数 -e (set -e) 停止?

python - 允许输入 Unicode 转义作为命令行参数

c - 在 ELF 文件中存储和检索版本信息

c - 使用 objdump/readelf 和 extern 变量

c# - 小型转储文件对分析 .NET WinForms 应用程序崩溃有用吗?

c++ - 创建一个 MiniDump,排除一系列运行时分配的内存