debugging - 使用 DWARF 信息将内存地址映射到行号

标签 debugging dwarf

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

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

最佳答案

看看节目addr2line .如果不能完全解决您的问题,它可能会为您提供有关如何执行此操作的一些指导(例如,通过对其进行攻击或将其功能链接到其中)。

关于debugging - 使用 DWARF 信息将内存地址映射到行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6472777/

相关文章:

java - 调试 'Detail Formatters' 如何解析 eclipse 中的类?

c++ - 在 VC++2010 环境之外运行时程序立即崩溃

elf - 更改 elf 调试信息中列出的源文件

c - GCC、重复的 typedef 和 DWARF

php - PHPStorm,Docker和调试

javascript - 无法在 .js 文件中命中断点

java - 在连接实时设备的情况下进入 Eclipse 时,Java 开源 View 不正确

g++ -/usr/bin/ld : Dwarf Error

c++ - 为什么Windows gcc(cygwin)不写ELF头?

clang - 如何在 llvm 编译时将 DWARF 信息转储到文件中?