2011-12-17 91 views
1

当转储一个可执行文件时,我只想将代码段打印为标准输出。不是偏移量和二进制形式的代码。我可以从人objdump记下它的存档。有没有办法?objdump,显示无偏移量

回答

2

可以抑制与

--no秀,原始的insn

如果你在代码中跳转,那么你需要的偏移量,以使他们的感觉目标代码十六进制转储,但如果你真的要剥夺他们的代码的东西,如过滤:

objdump -d --no-show-raw-insn myfile.o | perl -p -e 's/^\s+(\S+):\t//;' 

输出示例:

0000000000000000 <foo>: 
retq 
lea 0x0(%rsi),%rsi 
lea 0x0(%rdi),%rdi 
Disassembly of section .gnu.linkonce.t.goo: 

0000000000000000 <goo>: 
retq 
lea 0x0(%rsi),%rsi 
lea 0x0(%rdi),%rdi