2013-03-21 77 views
0

我的一些用户报告说他们有时会收到上述错误。不幸的是,我不能告诉日志文件中的任何内容。代码中的某个对象可能被过度释放。我能以某种方式捕捉并记录它吗?未捕获到的系统异常:信号11

通常情况下,我会与仪器和NSZobieEnabled去,但不幸的是,它不会发生在我的机器上。有没有机会记录对象?

1 ExceptionHandling     0x00000001000879e2 -[NSExceptionHandler _handleException:mask:] + 168 
    2 ExceptionHandling     0x00000001000877ba NSExceptionHandlerUncaughtSignalHandler + 35 
    3 libsystem_c.dylib     0x00007fff9836d8ea _sigtramp + 26 
    4 ???         0x0000000001440013 0x0 + 21233683 
    5 CoreFoundation      0x00007fff985b525f -[NSArray initWithArray:range:copyItems:] + 591 
    6 AppKit        0x00007fff94a193f3 recursivelyEncodeInvalidPersistentState + 1118 
    7 AppKit        0x00007fff94a194a6 recursivelyEncodeInvalidPersistentState + 1297 
    8 AppKit        0x00007fff94a194a6 recursivelyEncodeInvalidPersistentState + 1297 
    9 AppKit        0x00007fff94a194a6 recursivelyEncodeInvalidPersistentState + 1297 
    10 AppKit        0x00007fff94a194a6 recursivelyEncodeInvalidPersistentState + 1297 
    11 AppKit        0x00007fff94a178aa -[NSPersistentUIManager flushAllChangesOptionallyWaitingUntilDone:updatingSnapshots:] + 1037 
    12 AppKit        0x00007fff94a17467 -[NSPersistentUIManager flushPersistentStateAndClose:waitingUntilDone:] + 180 
    13 AppKit        0x00007fff94a7eba5 -[NSApplication terminate:] + 1701 
    14 AppKit        0x00007fff94aa357e -[NSApplication _terminateFromSender:askIfShouldTerminate:saveWindows:] + 280 
    15 AppKit        0x00007fff94aad4a2 __52-[NSApplication(NSAppleEventHandling) _handleAEQuit]_block_invoke_0 + 46 
    16 libdispatch.dylib     0x00007fff8bd9af01 _dispatch_call_block_and_release + 15 
    17 libdispatch.dylib     0x00007fff8bd970b6 _dispatch_client_callout + 8 
    18 libdispatch.dylib     0x00007fff8bd9c0c8 _dispatch_main_queue_callback_4CF + 275 
    19 CoreFoundation      0x00007fff985a20fe __CFRunLoopRun + 1614 
    20 CoreFoundation      0x00007fff985a16b2 CFRunLoopRunSpecific + 290 
    21 HIToolbox       0x00007fff93fbf0a4 RunCurrentEventLoopInMode + 209 
    22 HIToolbox       0x00007fff93fbed84 ReceiveNextEventCommon + 166 
    23 HIToolbox       0x00007fff93fbecd3 BlockUntilNextEventMatchingListInMode + 62 
    24 AppKit        0x00007fff94858613 _DPSNextEvent + 685 
    25 AppKit        0x00007fff94857ed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128 
    26 AppKit        0x00007fff9484f283 -[NSApplication run] + 517 
    27 AppKit        0x00007fff947f3cb6 NSApplicationMain + 869 

回答

2

信号11意味着你有地方分段错误... 所以它可能是与不是一个Objective-C的对象别的东西,因为在这种情况下,你更可能有一个例外(即使段错误也可能发生)。

所以NSZombieEnabled在这里没有帮助。

尝试了解信号处理C.您可以为信号11定义一个处理程序(SIGSEGV),这样您就可以记录几件事情。

(非常)基本上是:

​​
+0

什么信息能准确地我调试和日志在这里? – Thunder 2013-03-21 11:48:55

+1

并不多,但至少可以在信号处理程序上放置一个断点,并从那里进行调试。 – Macmade 2013-03-21 12:24:08