什么机制检查代码是否存在潜在的错误?

时间:2013-10-02 10:50:07

标签: iphone ios objective-c multithreading

如果我放置任何代码(永久循环,如while(1)sleep(xxxxx)),可能会挂出主线程:

- (void)viewDidLoad
{
    [super viewDidLoad];
    while (1) {

    }
    //[NSThread sleepForTimeInterval:10000];
}

我在大约50%的发布会后推出SIGABORT。 enter image description here

发生了什么事?  但是,如果程序启动,它永远不会(至少10分钟)根据Synchronous Networking On The Main Thread终止。那些应该检查应用程序响应并终止卡住的问题的watchdog呢?

我认为有关于here的问题,但它不包含有意义的答案。

在模拟器和设备上进行了测试。启动崩溃仅出现在sim上。虽然程序既不在设备上也不在sim上终止。

所以实际上有两个问题:  那看门狗怎么样?  2.这次创业公司在SIM卡上的崩溃是什么?

P.S。对不起我的英语我希望你有我的意思。欢迎你编辑我的帖子。

1 个答案:

答案 0 :(得分:0)

如果您的应用程序崩溃,请使用调试器查看代码。将断点异常添加到第一个视图的-(void)viewDidLoad方法作为起点,并查看它崩溃的位置。这通常会很快暴露出错误。

我建议viewdidLoad,因为它是在视图到达屏幕之前的那一刻。如果您的第一个屏幕崩溃 - 我将从它的'viewDidLoad方法开始。