IOS模拟器SigKill
当我从多任务栏中删除,然后重新运行,发现它产生SIGKILL信号时,我正在ios模拟器中试验我的应用程序。 (我通过停止应用程序,运行其他应用程序,然后从多任务栏中删除第一个应用程序并重新运行它来做到这一点。)
我认为这可能与我最近的实验有关,增加了Core Data,但是在试图简化条件之后,看起来它正在与我testing的每个应用程序发生。
代码在我的评论标识的点停在debugging器中:
#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; }
我也发现它好像是一个断点似的。 我点击继续button,它恢复,如果没有发生。 我在标记处放了一个真正的中断点,并在那里停下来。 单击继续可让程序在没有发生SIGKILL信号的情况下继续。
我用Core Data的一个基本的模板程序试了一下,没有修改我自己的,发生了这个信号。 我尝试了与其他程序不使用核心数据,并发生信号。 当程序已经被加载但是没有被debugging时,我尝试了它,并且程序运行正常,即使在debugging时出现问题。
当然,SIGKILL不会给出任何帮助的错误信息。
有谁知道发生了什么? 这似乎不是一个真正的问题,但我想确保我理解它。
我正在使用XCODE4。
从多任务栏中删除程序将停止运行。 右键单击扩展坞中的应用程序图标时,它与OS X中的“强制退出”选项相当。
在iOS级别,这显然是通过向应用程序发送称为SIGKILL的“kill”信号完成的。