1

iOS アプリで Bugsense を使用していますが、SIGABRT やクラッシュが発生した場合、Xcode の出力コンソールにはエラーが表示されずに Bugsense データしか表示されないため、何かをデバッグするたびに 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

これはアプリを起動すると表示されますが、クラッシュの瞬間にはコンソール出力に何も表示されません

バグセンスをオフにすると:

*** 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

バグセンスを有効にすると例外が隠される理由がまったくわかりません。

4

1 に答える 1

3

Bugsense は、デバッガーが例外を認識する前に、すべての例外をキャプチャしています。通常、この種のフレームワークは、テストまたは展開のために他の人に提供するビルドに対してのみ有効にする必要があります。デバッグの場合、バグを隠すものは必要ありません。

于 2013-05-29T16:09:28.403 に答える