1

我在我的 iOS 应用程序中使用 Bugsense,但是当我遇到 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 会隐藏异常。

4

1 回答 1

3

Bugsense 在调试器看到它​​们之前捕获所有异常。通常,您应该只为您提供给其他人进行测试或部署的构建启用这种框架。对于调试,您不希望某些东西对您隐藏错误。

于 2013-05-29T16:09:28.403 回答