Bugsense скрывает исключения в выводе консоли в XCode

Я использую Bugsense в своем приложении для iOS, но когда у меня возникает SIGABRT или какой-то подобный сбой, моя консоль вывода в Xcode показывает только данные Bugsense без отображения ошибки, поэтому каждый раз, когда я что-то отлаживаю, мне приходится отключать Bugsense, чтобы увидеть это. Вот пример моей консоли вывода:

При включенном багсенсе:

2013-05-29 12:01:45.887 [44604:1303] BugSense --> Posting analytics data...
2013-05-29 12:01:45.949 [44604:c07] GoogleAnalytics 2.0b4 -[GAIDispatcher internalCreateTimer] (GAIDispatcher.m:195) DEBUG: Created timer to fire every 20.0s
2013-05-29 12:01:46.464 [44604:4b03] BugSense --> Server responded with status code: 200

Это появляется, когда я запускаю приложение, но в момент сбоя ничего не отображается на выходе консоли.

С выключенным Bugsense:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
(0x21e5012 0x1dc6e7e 0x21870b4 0x2009d 0x290d8 0x11a5b87 0x11a5c14 0xe0d249 0xe0d4ed 0x18175b3 0x21a4376 0x21a3e06 0x218ba82 0x218af44 0x218ae1b 0x2bdc7e3 0x2bdc668 0xd5dffc 0x254d 0x2475 0x1)
libc++abi.dylib: terminate called throwing an exception

Я действительно понятия не имею, почему включение bugsense скрывает исключения.


person Chompas    schedule 29.05.2013    source источник


Ответы (1)


Bugsense перехватывает все исключения до того, как их увидит отладчик. Обычно вы должны включать этот тип фреймворка только для сборок, которые вы даете другим людям для тестирования или развертывания. Для отладки вы не хотите, чтобы что-то скрывало от вас ошибки.

person ahwulf    schedule 29.05.2013
comment
Да, я вручную комментирую строку, которая включает всю структуру Bugsense, но я подумал, что есть способ иметь обе вещи, - person Chompas; 29.05.2013
comment
Вы можете сделать: #ifndef DEBUG ... init SDK ... #endif, если вы определили DEBUG для конфигурации отладочной сборки. - person Kerni; 30.05.2013