如何在Mac OS X上安装objdump?


45

我想在Mac OS X上使用objdump获取一个小命令行工具的源代码。

我在Linux上使用了arm-linux-objdump,发现它是一个很棒的工具。

有没有办法在OS X上安装objdump?我搜索了谷歌并找到了有关arm-apple-dawin9-objdump的信息,但没有找到任何可下载的内容。

Answers:



31

如果您的Mac上安装了XCode Tools,则可以使用 otool 附带它。我相信它确实如此 objdump 有能力的。


13
+1的otool - 使用 otool -tV <executable> 拆解
Paul R

1
dwarftool 还提供了一些类似的功能。
Mike Weller

3
otool有一个像objdump -S这样的选项,它给出了用源代码注释的汇编输出吗?无法从--help输出中找出真正的结果。
rgngl

1
-bash: dwarftool: command not found
IgorGanapolsky

8

如果你的文件是64位,你应该使用 otool 代替 gobjdump 的binutils 。在Mac OSX上,gobjdump用于32位。


2
截至2017年,gobjdump 2.27(我想我是从自制软件中得到的?)在macOS Sierra(10.12)中的64位工作得很好
hmijail

6

你可以用Homebrew安装它:

$ brew install binutils
==> Downloading https://homebrew.bintray.com/bottles/binutils-2.25.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring binutils-2.25.yosemite.bottle.tar.gz
🍺  /usr/local/Cellar/binutils/2.25: 107 files, 140M
$ which gobjdump
/usr/local/bin/gobjdump

1

你应该用 otool 因为 objdump 是Linux和大多数其他UNIX系统上的ELF二进制格式的binutils工具。 otool 是MacOS的Mach-O二进制格式的反汇编程序。类型 $ man otool 有关使用说明。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.