Як я можу встановити objdump на Mac OS X?


46

Я хочу отримати вихідний код невеликого інструменту командного рядка, використовуючи objdump на Mac OS X.

Я використовував arm-linux-objdump в Linux і вважаю це чудовим інструментом.

Чи є спосіб встановити objdump на OS X? Я шукав Google і знайшов інформацію про arm-apple-dawin9-objdump, але не зміг знайти нічого, щоб завантажити.

Відповіді:


57

objdumpвходить до бінутів .


8
У домашнього мовлення його теж є! :)
Адріан Петреску

9
Я сподівався, що по-домашньому є це! Дякую! brew install binutils
nacho4d

11
MacPorts binutils встановлюється objdumpяк gobjdump.

1
-bash: objdump: command not found
ІгорГанапольський

1
brew install binutilsтакож встановлює його як gobjdump
Джозеф

32

Якщо на вашому Mac встановлені інструменти XCode Tools, ви можете використовувати otool, який постачається разом з ним. Я вважаю, що це робить майже все, на що objdumpздатний.


14
+1 для otool - використовувати otool -tV <executable>для розбирання
Paul R

1
dwarftoolтакож пропонує деякі подібні функціональні можливості.
Майк Веллер

3
чи отоол має такий варіант, як objdump -S, який дає висновок збірки з анотацією вихідного коду? Не вдалося зрозуміти з результатів --help.
rgngl

1
-bash: dwarftool: command not found
ІгорГанапольський

8

Якщо ваш файл 64біт, ви повинні використовувати otool замість gobjdump з Binutils . На Mac OSX gobjdump призначений для 32 біт.


2
Станом на 2017 рік, gobjdump 2.27 (я думаю, що я отримав це з домашнього?)
Працює

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

2

Ви повинні використовувати, otoolтому що objdumpце інструмент бінутів для бінарного формату ELF в Linux та більшості інших систем UNIX. otoolє розбиральником для бінарного формату Mach-O MacOS MacOS. Введіть $ man otoolінструкції щодо використання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.