Отладчик 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 (так что произойдет сбой - мы хотим, чтобы он аварийно завершил этот тест ):

     // обратите внимание: этот код предназначен для аварийного завершения! Я хочу, чтобы он рухнул, чтобы подчеркнуть мою проблему с XCode.
    NSMutableArray * test = [NSMutableArray новый];
    [тестовый объект insertObject: NULL atIndex: 0];
    
  3. Затем запустите приложение и нажмите строку «Изображения».

  4. Вылетает с сообщением вроде:

     2011-12-23 14: 07: 02.788 UICatalog [13394: 707] *** Завершение работы приложения из-за неперехваченного исключения 'NSInvalidArgumentException', причина: '*** - [ __NSArrayM insertObject: atIndex:]: объект не может быть нулевым '
    *** Стек вызовов первого броска:
    (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)
    завершить вызов исключения (gdb)
    

Просмотреть в xcode: enter image description here

9
задан Community 23 May 2017 в 12:25
поделиться