【问题标题】:Disassemble the executable created by g++ in mac osx在 mac osx 中反汇编 g++ 创建的可执行文件
【发布时间】:2012-03-01 03:06:43
【问题描述】:

如何在 Mac OSx 上查看 C++ 程序的可执行文件(例如 a.out)的反汇编版本?

【问题讨论】:

    标签: c++ macos disassembly


    【解决方案1】:

    这并不完全符合您的要求,但 g++ -S 从源代码生成汇编,并且可以预期比反汇编版本更具可读性。

    如果你不能用-S 重新编译(例如没有源代码),那么gdb 可以让你反汇编,objdump --disassemble 也一样。取决于你安装了什么。

    另请参阅:https://superuser.com/questions/206547/how-can-i-install-objdump-on-mac-os-x

    【讨论】:

    • +1:binutils 比 darwin 的 cctools 好多了。
    【解决方案2】:

    看看otool。即otool -tv a.out

    编辑:添加到 Tony 的回答中,objdump 还具有 C++ 的名称解构,即,

    objdump -tC a.out (IIRC)

    我之前给出了关于如何构建和安装binutils for darwin的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多