Xcode Debugger - 如何在CPU指令级别单步执行

时间:2010-01-05 20:51:32

标签: xcode debugging

这绝对是一种痴迷,但我对编译器如何巧妙地将C代码转换为机器指令感到着迷。由于我对某些指令有点模糊,如果我可以在单个机器指令的级别上观察编译程序的操作 - “低于”C语句的级别(可能生成多个CPU指令),将会很有帮助。换句话说,我可以在一次机器指令后观察寄存器/存储器的变化吗?

我确信它可以与其他一些调试器一起使用,但我只使用Xcode。

4 个答案:

答案 0 :(得分:8)

可以使用Xcode的步骤,步入和使用调试器逐步执行命令。诀窍是按住 ctrl (控制)键,同时将鼠标悬停在调试器步骤图标上以更改上下文。在每个步骤图标下方,该行将变为一个点,然后您可以在指令级别进行操作。

请参阅附带的红色椭圆形突出显示的截图。

screenshot

答案 1 :(得分:3)

si是“步骤说明”,ni是“下一步说明”。对于代码行,它们具有与“step”和“next”相同的语义,仅在指令级别上。

答案 2 :(得分:2)

在Debugger窗口中,启用程序集:Run / Debugger display / Source and disassembly。等到你遇到断点。然后使用Run / Step into(over)指令进入程序集。

答案 3 :(得分:0)

哎呀,没有仔细检查 - 步入w / Option(Cmd-Opt-Shft-I =⌘⌥⇧I)