为什么 Xcode 在调试期间随机跳转到内存屏幕/线程视图/反汇编?

Why does Xcode randomly jump to memory screen / thread view / disassembly during debug?

我是新手,甚至不知道如何准确描述我看到的屏幕,所以希望这不是一个重复的问题。

一般来说,我会跟踪我的人类可读代码,在大多数情况下它很好,但有时它只会转到这个似乎永远 运行 的类似程序集的代码并且我需要按下播放按钮才能退出。

为什么会转到这个视图?这个观点有什么用?它有什么作用?我该如何摆脱它?提前致谢!

这是一种你没有源代码的方法,所以最好的 Xcode 可以告诉你的是反汇编(这就是所谓的)。几乎可以肯定这是在 UIKit 内部。

如果您查看堆栈帧,就会知道自己所在的位置。您通常可以通过多次使用 "step out" 来摆脱这种情况。这可能需要很多时间;查看堆栈跟踪以了解您在堆栈中的位置。

如果您在 UIKit 内部崩溃,您可能会进入此状态(在这种情况下您无法真正继续前进;但您可以单击堆栈跟踪以返回到您的代码,如果您的任何代码在堆栈上)。如果您使用 "Step into instruction"(按住 Control 键并单击 "step into" 按钮),您也可以进入此状态。