简体   繁体   English

Linux上来自ELF的Minidump符号模块ID和构建ID

[英]Minidump symbols module id and Build id from ELF on Linux

I'm generating symbols file for an executable for minidump. 我正在为minidump的可执行文件生成符号文件。 The first line in the minidump symbols file contains specific id of the executable for which the file was generated. minidump符号文件中的第一行包含为其生成文件的可执行文件的特定ID。 How can I find that id inside the executable? 如何在可执行文件中找到该ID? When I use readelf to check build id then it's something different (even the length is different). 当我使用readelf检查内部版本ID时,它会有所不同(甚至长度也有所不同)。

How can I find that id inside the executable? 如何在可执行文件中找到该ID?

Which is that id? 这是 ID? Presumably the one your tool uses, except you didn't tell us which tool you actually use. 大概是您的工具使用的工具,只是您没有告诉我们您实际使用的工具。

Most Linux tools (such as GDB) use a special NT_GNU_BUILD_ID note in the elf binary to associate debug info with the binary. 大多数Linux工具(例如GDB)在elf二进制文件中使用特殊的NT_GNU_BUILD_ID注释将调试信息与二进制文件关联。 You can see that build-id in readelf -n a.out output. 您可以在readelf -n a.out输出中看到该build-id。

When I use readelf to check build id then it's something different 当我使用readelf检查版本ID时,情况有所不同

Again, what exactly do you see? 同样,您究竟看到了什么? What command do you run? 您运行什么命令?

Maybe they are one and same, and you are just "holding it wrong". 也许它们是一模一样的,而您只是在“认为错误”。 Or they are encoded differently, or you are looking at the wrong thing. 或它们的编码不同,或者您看错了。 We can't tell. 我们不能说。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM