Xcode在调试期间冻结应用程序

时间:2018-02-22 09:42:42

标签: ios xcode debugging

我对Xcode和我试图调试的应用程序有一个非常奇怪和恼人的问题。

我可以从Xcode开始一个新的调试会话,它可以正常工作。但是,在一个视图中,我有一个按钮,可以进行新视图。当我按下该按钮时,应用程序冻结,但仅在调试时。如果我从计算机上拔下设备,应用程序将恢复正常。但是,在Xcode中,我无法停止会话,我无法退出Xcode(因为它等待调试会话停止,它无法执行)并且我无法停止执行。我唯一的出路是强制退出Xcode(它也将恢复应用程序)。但是,Xcode完全可以正常运行 - 我可以编辑代码,更改文件等等。

我可以毫无问题地从视图中退出,但我无法看到任何新视图(显示segues)。我尝试用performSegueWithIdentifier:替换storyboard segue,但效果相同。我从Xcode获得的唯一指示是:<​​/ p>

  

[Common] _BSMachError:port 9b2f; (os / kern)无效功能(0x14)&#34;无法插入COPY_SEND&#34;

     

[Common] _BSMachError:port 9b2f; (os / kern)无效名称(0xf)&#34;无法解除分配发送权&#34;

我搜索了这些错误消息并尝试了一些可能的修复(例如12)。我使用的是CoreBluetooth和CoreData,大多数应用程序都是用Objective-C编写的,在Swift中有一些第三方库。

我尝试过清洁和重建,但这并没有帮助。我可以退出iPad上的应用程序,但Xcode仍然认为它的调试。我可以拔下iPad,但Xcode仍然认为它的调试。我重新启动了iPad和Mac,没有任何效果。 我在旧视图的viewWillDisappear和新视图中的viewWillAppear都设置了断点,但没有一个断点。 (或者调试器不起作用,我不知道)

在把所有想法抛到窗外之前,先欣赏任何想法。

Xcode Version 9.2 (9C40b)
iOS 10.3.2
iPad A1822 (5th gen)

编辑:哦,如果我尝试在模拟器中打开它,模拟器会在应用启动时冻结。

1 个答案:

答案 0 :(得分:0)

以下问题似乎解决了这个问题(虽然仍然不知道为什么会发生这种情况或者实际发生了什么)。

  1. 创建一个包含两个视图且在它们之间有一个segue的新应用程序(无代码)。
  2. 启动调试会话并在视图之间移动。
  3. 停止调试会话。
  4. 使用您的错误应用启动新的调试会话。
  5. 在遇到违规方案之前,请点击“停止”按钮。
  6. 调试现在应该正常工作。
  7. 我不确定这是诀窍,步骤5还是组合的步骤1-3。