我正在调整我的iPhone应用程序中运行的紧密循环代码,并且好奇地想查看生成的汇编代码,以查看是否有任何异常。
在 Xcode 3.x 中,菜单中有一个 "Build > Show Assembly Code"(构建>显示汇编代码)选项,但我在 Xcode 4 的菜单或文档中没有找到任何东西。
有人知道如何做到这一点吗?我可以执行 "gcc -S",但我的理解是那不会与整个项目的编译完全相同。
我正在调整我的iPhone应用程序中运行的紧密循环代码,并且好奇地想查看生成的汇编代码,以查看是否有任何异常。
在 Xcode 3.x 中,菜单中有一个 "Build > Show Assembly Code"(构建>显示汇编代码)选项,但我在 Xcode 4 的菜单或文档中没有找到任何东西。
有人知道如何做到这一点吗?我可以执行 "gcc -S",但我的理解是那不会与整个项目的编译完全相同。
-save-temps
。按回车键。yourFile.i
和 yourFile.s
,它们分别是预处理的源代码和生成的汇编代码,完全按照您的项目构建。otool -tvV /path/to/binaryOrDotOFile
来反汇编构建后的二进制文件(或源文件生成的目标文件)。尝试按下Ctrl+F7一次或多次,您将看到汇编代码。
同一作者对Xcode 4功能的另一个有用的快速概述:http://pilky.me/view/16
在调试器中运行并中断执行,您可以在调试器中键入“disass”。默认情况下,它会反汇编当前函数,因此通常最快的方法是在要查看的函数中设置断点。在LLDB中,“disass -h”将显示其他选项,例如反汇编命名函数(不确定是否适用于ObjC选择器)。
至少比手动重建源文件要容易得多...
help disass
。 - Matt Bierner