Xcode调试器:为什么它只显示汇编程序?

时间:2009-09-14 11:53:19

标签: xcode cocoa debugging

我刚开始使用Xcode中的Cocoa开发,做了hello world示例。我要完成“runtime debugging”部分的第6步,这是

  

使用调试器工具栏中的“跳过”按钮,开始逐步执​​行代码。当每行代码执行时,您可以检查程序的状态。变量的值有时以红色绘制,表示该值在最后一步中被修改。   请注意,调试器在执行指示的行之前暂停。每次暂停后,您可以添加其他断点或选择Debug>重新启动以终止应用程序并启动新的调试会话。

现在,我在过去一小时里一直拔头发的是这个调试器只显示汇编代码。我可以手动选择我的源代码文件,但是一旦我点击“Step over”,我就会立即回到汇编视图中。我不能为我的生活弄清楚如何关闭汇编程序,并让它显示我的源代码!

3 个答案:

答案 0 :(得分:128)

我知道这篇文章已有百年历史,但如果有人想知道如何在最近的Xcode版本中解决这个问题(而不是Xcode 3),你会发现标有总是显示的相应设置Xcode 6及更高版本中调试>调试工作流程下的反汇编。确保选项 NOT 已选中。

在Xcode 5中,该选项在调试>调试工作流程下标记为在调试时显示反汇编。确保未选中“在调试时显示反汇编”。

返回Xcode 4,在产品>调试工作流程下找到调试时显示反汇编设置。再次确保选项保持未选中状态。

这也让我发疯了。

注意:上述信息对Xcode 10+仍然有效。随着Xcode的新版本发布,我已经对这个答案应用了更新。幸运的是,自Xcode 6(到目前为止)以来,该选项保持不变。

答案 1 :(得分:11)

还有两件事需要确定:

  1. 您正在查看自己的一个功能/方法。如果你正在查看的堆栈框架是来自其中一个框架的函数或方法,那么无论你如何配置Xcode,你都会看到汇编。
  2. 您正在运行Debug构建。剥离调试符号(如在发布版本中),无论如何,您都将查看汇编甚至是您自己的代码。

答案 2 :(得分:2)

在我发布之前我确实想到了这一点,但我想保存其他潜在的未来头痛,(以及万一我忘了以后),因为我找不到通过搜索堆栈溢出找到答案,但我确实发现了I'm not alone.

从运行菜单中选择“Debugger Display”> “仅来源”或“调试器显示”> “来源和反汇编”