自学内容网 自学内容网

[程序员] gnu: binutils:addr2line 结果显示很多问号?

之前总结过addr2line的一个问题:gnu:binutils: addr2line显示行号有问题?

最近又遇到一个另一个问题,说在一台机器上使用addr2line,查看ELF文件中某一个地址在对应什么样的文件行号,但是显示的内容有些乱码,很多的问号!这个是什么问题呢?而且看着function-backtrace对应不上。

这个问题的原因是说这个二进制文件的编译/链接版本和当前使用的addr2line所属的binutils版本有差别,导致内容解析出现问题。因为在版本间,二进制文件的debug信息格式可能会有差别,因为调试信息这种额外的信息块随着需求的不断变更,也就会随着版本发生改变。

所以在使用addr2line的时候一定要注意,不是说只要系统里addrline这个命令,就可以了,还需要看当前addr2line的版本是否对应二进制文件的编译链接使用的binutils版本,如果兼容就可以正确的解析调试信息,如果不兼容就会出现标题中的问题。

所以两层需要考虑:第一个是否又addr2line;第二个如果有版本是否可以满足要求!只当第二个满足了需求,才能得到正确准确的信息!


原文地址:https://blog.csdn.net/qq_36428903/article/details/140222799

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!