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

y1aodyip  于 2022-11-14  发布在  其他
关注(0)|答案(3)|浏览(144)

我刚刚开始用Xcode进行可可开发,做了hello world的例子。
使用调试器工具栏中的“单步执行”按钮,开始单步执行代码。在执行每行代码时,可以检查程序的状态。变量的值有时会显示为红色,表示该值已在上一步中修改。请注意,调试器在执行所指示的行之前会暂停。每次暂停后,您可以添加其他断点或选择Debug〉Restart终止应用程序并启动新的调试会话。
在过去的一个小时里,我一直在为这个调试器只显示汇编代码而烦恼。我可以手动选择源代码文件,但只要我单击“跳过”,我就回到了汇编程序视图。我一辈子都想不出如何关闭汇编程序,让它显示我的源代码!

tyky79it

tyky79it1#

我知道这篇文章已经有一百年的历史了,但是如果有人想知道如何在最近的Xcode版本(相对于Xcode 3)中解决这个问题,你可以在Xcode 6和更高版本的Debug〉Debug Workflow下找到标记为 Always Show Disassembly 的相应设置。确保该选项NOT被选中。
在Xcode 5中,该选项在调试〉调试工作流下被标记为 * 调试时显示反汇编 *。请确保取消选中“调试时显示反汇编”。
回到Xcode 4,产品〉调试工作流下有 * 调试时显示反汇编 * 设置。再次确认该选项保持未选中状态。
这也快把我逼疯了

  • 注意:以上信息对Xcode 14+仍然有效。随着Xcode新版本的发布,我已经对此答案进行了更新。幸运的是,自Xcode 6以来(到目前为止),该选项一直保持不变。*
vdgimpew

vdgimpew2#

还有另外两件事需要确认:
1.如果你看到的堆栈框架是一个框架中的函数或方法,不管你如何配置Xcode,你都会看到汇编。
1.您正在运行一个Debug版本。去掉调试符号(就像在Release版本中一样),您将看到甚至是您自己的代码的汇编,无论是什么。

mefy6pfw

mefy6pfw3#

其实我在发帖前就已经知道了,但我想保存其他人将来可能遇到的麻烦,(也是为了防止我以后忘记)因为我无法通过搜索堆栈溢出找到答案,但我确实发现了I'm not alone.
从运行菜单中选择“调试器显示”〉“仅源代码”,或“调试器显示”〉“源代码和反汇编”

相关问题