【发布时间】:2012-03-01 03:06:43
【问题描述】:
如何在 Mac OSx 上查看 C++ 程序的可执行文件(例如 a.out)的反汇编版本?
【问题讨论】:
标签: c++ macos disassembly
如何在 Mac OSx 上查看 C++ 程序的可执行文件(例如 a.out)的反汇编版本?
【问题讨论】:
标签: c++ macos disassembly
这并不完全符合您的要求,但 g++ -S 从源代码生成汇编,并且可以预期比反汇编版本更具可读性。
如果你不能用-S 重新编译(例如没有源代码),那么gdb 可以让你反汇编,objdump --disassemble 也一样。取决于你安装了什么。
另请参阅:https://superuser.com/questions/206547/how-can-i-install-objdump-on-mac-os-x
【讨论】:
看看otool。即otool -tv a.out
编辑:添加到 Tony 的回答中,objdump 还具有 C++ 的名称解构,即,
objdump -tC a.out (IIRC)
我之前给出了关于如何构建和安装binutils for darwin的答案。
【讨论】: