最佳答案
我已经在我的系统上安装了一个二进制文件,并且希望查看一个给定函数的反汇编。最好使用 objdump
,但其他解决方案也可以接受。
从 这个问题我已经知道,如果我只知道边界地址,我可能能够分解部分代码。从 这个答案我已经学会了如何把我的分裂调试符号回到一个单一的文件。
但是即使操作那个单独的文件,甚至反汇编所有的代码(即没有开始或停止地址,但是 objdump
的 -d
参数) ,我仍然看不到任何地方的符号。这是有意义的,因为所讨论的函数是静态的,所以它不会被导出。然而,valgrind
将报告函数名,因此它必须存储在某个地方。
查看调试部分的细节,我找到了 .debug_str
部分中提到的名称,但我不知道有什么工具可以将其转换为地址范围。