XCode调试器在停止按钮上停止使用SIGKILL

时间:2011-10-26 10:09:06

标签: objective-c xcode

我在MacOS Lion上使用XCode 4.2。在Simulator中调试iPhone / iPad应用程序时,我在XCode工具栏(产品|停止)上使用“停止”按钮退出应用程序。经常在此之后,XCode打开main.m文件,将执行指针放在UIApplicationMain调用上并说“Program received SIGKILL”。在大约一秒之后,它中断了调试模式,所以我无法调试此错误。我的应用程序涉及很多线程,因此,我的猜测是它可能与线程仍在工作时拉出的资源有关,或类似的东西。这可能是正常的,我不太关心这个问题,因为应用程序无论如何都要终止。但是在每次调试之后看到这个SIGKILL真的很烦人。我该怎么调试呢?或者,有没有办法禁用它?

编辑:除了通常的活动日志之外,控制台中没有任何内容(没有像常规例外那样的崩溃细节)。

5 个答案:

答案 0 :(得分:6)

SIGKILL是您在停止调试器时发送给进程的内容。没有任何错误,但有时它会显示并切换到main.m文件,这是无用和烦人的。

要解决它,不要打扰从Xcode停止可执行文件。只需让它继续运行,当你想再次运行时,只需使用“播放”按钮重新启动,无论如何都会终止上一个任务。

答案 1 :(得分:1)

在我看来,jrturton的解决方案并没有真正解决问题。我专门停止了应用程序,因此我可以使用NSUserDefaults测试保存数据。

我的建议是在运行后立即点击STOP,以便调试器不再监视应用程序。然后您可以自由关闭应用程序并根据需要重新打开它。这样做我能够检查NSUserDefaults是否正确保存,而无需在每次杀死并重新打开应用程序时单步执行调试器。

答案 2 :(得分:0)

为防止Xcode 4短暂停止并切换到main.m,您可以在按 Stop 之前单击 Breakpoints 按钮关闭调试模式(?)按钮。

答案 3 :(得分:0)

如果您希望在编辑代码时停止应用,可以尝试我在此处给出的答案:

Xcode 4.2 jumps to main.m every time after stopping simulator

答案 4 :(得分:0)

如果您使用触控板,一种解决方法是在编辑器区域中“向左滑动”。这将移开main.c,并打开以前编辑过的文件。