【发布时间】:2011-10-15 04:41:42
【问题描述】:
我最近升级到 Xcode 4,但还没有弄清楚如何将异常和错误消息记录到运行控制台。
示例:在 Xcode 3 中,[[NSArray array] objectAtIndex:1] 导致以下内容被记录到控制台。
2011-08-10 10:27:22.061 App[28662:40b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[NSArray objectAtIndex:]: index 1 beyond bounds for empty array'
*** Call stack at first throw:
(
0 CoreFoundation 0x015babe9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x0170f5c2 objc_exception_throw + 47
2 CoreFoundation 0x015b080c -[__NSArrayI objectAtIndex:] + 236
3 App 0x00002514 -[AppDelegate application:didFinishLaunchingWithOptions:] + 357
4 UIKit 0x003fc1fa -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
5 UIKit 0x003fe55e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
6 UIKit 0x00408db2 -[UIApplication handleEvent:withNewEvent:] + 1533
7 UIKit 0x00401202 -[UIApplication sendEvent:] + 71
8 UIKit 0x00406732 _UIApplicationHandleEvent + 7576
9 GraphicsServices 0x01c24a36 PurpleEventCallback + 1550
10 CoreFoundation 0x0159c064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
11 CoreFoundation 0x014fc6f7 __CFRunLoopDoSource1 + 215
12 CoreFoundation 0x014f9983 __CFRunLoopRun + 979
13 CoreFoundation 0x014f9240 CFRunLoopRunSpecific + 208
14 CoreFoundation 0x014f9161 CFRunLoopRunInMode + 97
15 UIKit 0x003fdfa8 -[UIApplication _run] + 636
16 UIKit 0x0040a42e UIApplicationMain + 1160
17 App 0x00002393 main + 85
此异常不会在 Xcode 4 中将任何内容记录到控制台。
我可以通过添加异常断点来查看调用堆栈 - 但是,继续通过异常断点不会将任何内容记录到控制台(甚至没有模糊的 SIGABRT 或 EXC_BAD_ACCESS 消息)。
我在 Edit Scheme 窗口的 Diagnostics 选项卡中检查了“Log Exceptions”和“Enable Zombie Objects”,但没有帮助。还有其他我可能会丢失的设置吗?
非常感谢。
【问题讨论】:
-
也许这里的东西会有所帮助。抱歉,我没有更具体的内容可提供。 developer.apple.com/library/mac/#documentation/IDEs/Conceptual/…
-
奇怪的是我在 MAC Lion 中使用 xcode 4,它只是以与 xcode3 相同的方式跟踪异常!你有哪个 Xcode4?!以及哪个操作系统?!
-
Xcode 4.2 在雪豹上运行。我确定我只是配置错误。