我有一个通过内存跟踪程序执行的应用程序。我尝试使用readelf --debug-dump=decodedline获取内存地址/行号信息,但是我看到的内存地址通常与该转储给出的地址不匹配。我写了一些东西来使每个地址与DWARF数据中出现的“最新”地址匹配-这似乎可以清除某些内容,但是我不确定这是否是解释此数据的“官方”方式。

有人可以解释使用DWARF将程序地址映射到行号的确切过程吗?

最佳答案

看一下程序addr2line。如果不能完全解决问题(例如通过炮击或链接其功能),它可能会为您提供有关如何执行此操作的指导。

10-06 09:58
查看更多