我的系统上安装了一个二进制文件,并且想查看给定函数的反汇编。最好使用objdump
,但其他解决方案也是可以接受的。
From 这个问题我了解到,如果我只知道边界地址,我也许能够反汇编部分代码。从这个答案我已经学会了如何将分割的调试符号转回单个文件。
但即使对单个文件进行操作,甚至反汇编所有代码(即没有开始或停止地址,但简单-d
参数为objdump
),我仍然没有在任何地方看到该符号。这是有道理的,因为所讨论的函数是静态的,因此它不会被导出。尽管如此,valgrind
将报告函数名称,因此它必须存储在某个地方。
查看调试部分的详细信息,我发现在.debug_str
部分,但我不知道可以将其转换为地址范围的工具。
我建议使用 gdb 作为最简单的方法。你甚至可以将其作为一句台词来完成,例如:
gdb -batch -ex 'file /bin/ls' -ex 'disassemble main'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)