XCode4调试器始终在Main中断

Wil*_*iss 9 debugging xcode gdb ios xcode4

在升级到XCode4(v.4.2,4D199)后,似乎每次我的应用程序在调试时崩溃,调试都指向main(),并且堆栈是非符号化且无用的.

这已经好多年了,我不知道出了什么问题.

我正在使用GDB.我也按照这个建议尝试了LLDB ,它也没有用(类似的,无用的堆栈).

我的断点工作,我得到完整的堆栈,并可以在我的代码命中时检查变量.

重现步骤:

NB.这发生在我自己的项目中,但我会在这里使用Apple的代码从等式中删除该变量

  1. 从Apple下载以下示例:https://developer.apple.com/library/ios/#samplecode/UICatalog/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007710

  2. ImagesViewController类中,将以下代码添加到viewDidLoad方法中(因此它将崩溃 - 我们希望它在此测试中崩溃):

    // please note: this code is designed to crash! I want it to crash, to highlight my issue with XCode.
    NSMutableArray* test = [NSMutableArray new];
    [test insertObject:NULL atIndex:0];
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后运行应用程序并点击"图像"行.

  4. 它崩溃了如下消息:

    2011-12-23 14:07:02.788 UICatalog[13394:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
    *** First throw call stack:
    (0x37bbb8bf 0x316a11e5 0x37b1020f 0x699f 0x34fac7ff 0x34fb8c39 0x34fb8aa9 0x34fb898f 0x34fb815b 0x34fb7f53 0x34fac673 0x34fac349 0x66c1 0x35026565 0x3509ece7 0x31aec943 0x37b8fa63 0x37b8f6c9 0x37b8e29f 0x37b114dd 0x37b113a5 0x3768ffcd 0x34fa1743 0x2459 0x2418)
    terminate called throwing an exception(gdb) 
    
    Run Code Online (Sandbox Code Playgroud)

在xcode中查看: 在此输入图像描述

Wil*_*iss 17

感谢brigadir指导解决方案!

它运作良好.以下是有关如何解决此问题的截图:

步骤1

点击断点选项卡的加号按钮

第2步

然后单击"完成"