首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >objdump,无偏移显示

objdump,无偏移显示
EN

Stack Overflow用户
提问于 2011-12-17 01:21:50
回答 2查看 5.3K关注 0票数 6

在转储可执行文件时,我只希望在标准输出上打印代码段,而不是偏移量和代码的二进制形式。我无法做到这一点

代码语言:javascript
复制
man objdump

有办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-24 19:45:42

可以通过以下方法来抑制对象代码十六进制转储

代码语言:javascript
复制
--no-show-raw-insn

如果代码中有跳转,那么您需要使用偏移量来理解它们,但是如果您真的想去掉它们,请使用如下内容过滤代码:

代码语言:javascript
复制
objdump -d --no-show-raw-insn myfile.o | perl -p -e 's/^\s+(\S+):\t//;'

示例输出:

代码语言:javascript
复制
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
票数 7
EN

Stack Overflow用户

发布于 2018-07-01 10:00:14

如果您想实现与、Peeter、展示的输出相同的结果,但是不使用Perl命令行。然后可以使用GrepCut工具,如下所示。

代码语言:javascript
复制
objdump -d --no-show-raw-insn my_binary_file.o | grep "^ " | cut -f2,3
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8541906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档