组合lib及其调试符号以生成源交错的反汇编

时间:2015-09-24 09:24:08

标签: glibc disassembly objdump

我安装了libc6libc6-dbg个软件包。我想要做的是显示带有源交错的ld.so的反汇编。我还将glibc源放在chroot中,可以在调试符号中DW_AT_comp_dir显示的确切位置访问。

有人可以告诉我 - 如果可能的话 - 请如何输出ld.so库的源交错反汇编?我知道我可以使用objdump -S,但是如何将它指向可用的单独调试符号文件?

1 个答案:

答案 0 :(得分:0)

我能找到的最佳匹配是使用GDB:

  • gdb /the/original/library
  • 使用add-symbol-file命令找到添加作为-dbg包的一部分安装的符号文件(使用dpkg -L the-package-name-dbg查找作为包的一部分安装的所有文件)。此命令还需要一个地址来加载符号。此地址可以从readelf -a /the/original/library找到,很可能是文本段的加载地址
  • 使用apt-get source the-package-name安装包源。这将下载当前工作目录中的源
  • 在GDB中使用dir命令查找上面下载的源
  • 现在使用disas/m function_name以便GDB显示按源行排序的反汇编