Разберите исполняемый файл, созданный g ++ в Mac OSX - PullRequest
2 голосов
/ 01 марта 2012

Как посмотреть дизассемблированную версию исполняемого файла (например, a.out) программы на C ++ в Mac OSx?

Ответы [ 2 ]

4 голосов
/ 01 марта 2012

Это не совсем то, что вы просите, но g++ -S производит сборку из исходного кода и, как ожидается, будет более читабельным, чем дизассемблированная версия.

Если вы не можете перекомпилировать с -S (например, без исходного кода), тогда gdb позволяет вам разобрать, как и objdump --disassemble.Зависит от того, что вы установили.

Смотрите также: https://superuser.com/questions/206547/how-can-i-install-objdump-on-mac-os-x

3 голосов
/ 01 марта 2012

Посмотрите на otool. т.е. otool -tv a.out

Редактировать: Чтобы добавить к ответу Тони, objdump также имеет разделение имен для C ++, т.е.

objdump -tC a.out (IIRC)

Я дал предыдущий ответ о том, как собрать и установить binutils для darwin .

...