当我发现当我从多任务栏中删除它然后重新运行它时它会产生 SIGKILL 信号时,我正在 ios 模拟器中试验我的应用程序。(我通过停止应用程序,运行另一个应用程序,然后从多任务栏中删除第一个应用程序并重新运行它来做到这一点。)
我认为这可能与我最近的实验有关,添加 Core Data,但在尝试简化条件之后,我测试它的每个应用程序似乎都在发生这种情况。
代码在我的评论所标识的点停止在调试器中:
#import <UIKit/UIKit.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); //<- STOPS with SIGKILL here
[pool release];
return retVal;
}
我还发现它似乎正在停止,就好像它是一个断点一样。我单击继续按钮,它会继续,就好像什么都没发生一样。我在标记线上放了一个真正的断点,它停在那里。单击继续可以让程序继续运行,而不会出现 SIGKILL 信号。
我用 Core Data 的基本模板程序尝试了这个,没有我自己的修改,并且信号出现了。我用其他不使用Core Data的程序试了一下,信号就出现了。我在程序已经加载但未调试时尝试过,并且程序运行正常,即使在调试时出现问题。
当然,SIGKILL 不会给出任何帮助的错误消息。
有谁知道发生了什么?这似乎不是一个真正的问题,但我想确保我理解它。
我正在使用 XCODE4。