Bagaimana saya bisa menginstal objdump di Mac OS X?

46

Saya ingin mendapatkan kode sumber alat baris perintah kecil menggunakan objdump di Mac OS X.

Saya telah menggunakan arm-linux-objdump di Linux dan menemukan itu alat yang hebat.

Apakah ada cara untuk menginstal objdump di OS X? Saya telah mencari di Google dan menemukan informasi tentang arm-apple-dawin9-objdump, tetapi gagal menemukan apa pun untuk diunduh.

Zhong Dingin
sumber

Jawaban:

57

objdumpadalah bagian dari binutils .

Ignacio Vazquez-Abrams
sumber
8
Homebrew juga memilikinya! :)
Adrian Petrescu
9
Saya berharap homebrew memilikinya! Terima kasih! brew install binutils
nacho4d
11
Binutils MacPorts diinstal objdumpsebagai gobjdump.
1
-bash: objdump: command not found
IgorGanapolsky
1
brew install binutilsjuga menginstalnya sebagai gobjdump
Joseph Sheedy
32

Jika Anda memiliki XCode Tools yang diinstal pada Mac Anda, Anda dapat menggunakan otool yang menyertainya. Saya percaya itu cukup banyak melakukan apa objdumpyang mampu.

ayaz
sumber
14
+1 untuk otool - gunakan otool -tV <executable>untuk membongkar
Paul R
1
dwarftooljuga menawarkan beberapa fungsi serupa.
Mike Weller
3
apakah otool memiliki opsi seperti objdump -S, yang memberikan keluaran perakitan yang dianotasi dengan kode sumber? Tidak dapat mengetahuinya dari --help output.
rgngl
1
-bash: dwarftool: command not found
IgorGanapolsky
8

Jika file Anda 64bit, Anda harus menggunakan otool alih-alih gobjdump dari binutils . Di Mac OSX, gobjdump adalah untuk 32 bit.

ahuigo
sumber
2
Pada 2017, gobjdump 2.27 (saya pikir saya mendapatkannya dari homebrew?)
Berfungsi
6

Anda dapat menginstalnya dengan 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
Daniel
sumber
2

Anda harus menggunakannya otoolkarena objdumpini adalah alat binutils untuk format biner ELF di Linux dan sebagian besar sistem UNIX lainnya. otooladalah disassembler untuk format biner Mach-O MacOS. Ketikkan $ man otooluntuk petunjuk penggunaan.

Riaz Rizvi
sumber