Ich glaube, ich habe gerade eine Denkblockade, die aufgelöst werden möchte.
Ich bekomme ein EXC_BAD_EXCESS in Thread 1, wenn ich bei einer Document Based Application das letzte verfügbare Fenster schließe.
NSZomieEnabled erklärt mir nur:
Das ist super, hilft mir in erster Instanz aber mal kein Stück weiter.
Das Crashlog erzählt außerdem:
Ich stelle fest:
- passiert nur, wenn ich das letzte Fenster schließe
- und zwar reproduzierbar
- egal ob per Klick oder Appel+W
Kommen wir also nun zum Kern des Ganzen, der How To Anfrage:
How To the Teufel bekomme ich jetzt raus, wer mir wann warum meine Instanz von NSDocument wegtritt respektive wer wie warum danach noch damit reden will?
Das Dokument besitzt nur zwei assigned Outlets und ein eigenes View, welches brav im dealloc auf 'nil' gesetzt wird.
Ich habe eigentlich nur zwei Objekte in Verdacht, die vom Dokument bei jedem Klick in sich das View abfragen. Die schicken aber vorher kein -respondsToSelector.
Wie finde ich heraus was da kaputt ist?
Ich bekomme ein EXC_BAD_EXCESS in Thread 1, wenn ich bei einer Document Based Application das letzte verfügbare Fenster schließe.
NSZomieEnabled erklärt mir nur:
2011-08-11 22:48:32.641 <project>[3283:903] ZOMBIES/AFOC ARE ENABLED!!! AAAAARRRRRRGH!!! BRAINS!!!
2011-08-11 22:48:55.634 <project>[3283:903] *** -[MyDocument respondsToSelector:]: message sent to deallocated instance 0x1018861e0
Das ist super, hilft mir in erster Instanz aber mal kein Stück weiter.
Das Crashlog erzählt außerdem:
Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff855b3fc8 objc_msgSend_vtable5 + 16
1 com.apple.AppKit 0x00007fff8028ffcb -[NSApplication(NSWindowCache) _checkForTerminateAfterLastWindowClosed:] + 95
2 com.apple.Foundation 0x00007fff8464433c __NSFireDelayedPerform + 404
3 com.apple.CoreFoundation 0x00007fff8831cbe8 __CFRunLoopRun + 6488
4 com.apple.CoreFoundation 0x00007fff8831adbf CFRunLoopRunSpecific + 575
5 com.apple.HIToolbox 0x00007fff829c57ee RunCurrentEventLoopInMode + 333
6 com.apple.HIToolbox 0x00007fff829c5551 ReceiveNextEventCommon + 148
7 com.apple.HIToolbox 0x00007fff829c54ac BlockUntilNextEventMatchingListInMode + 59
8 com.apple.AppKit 0x00007fff80052eb2 _DPSNextEvent + 708
9 com.apple.AppKit 0x00007fff80052801 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 155
10 com.apple.AppKit 0x00007fff8001868f -[NSApplication run] + 395
11 com.apple.AppKit 0x00007fff800113b0 NSApplicationMain + 364
12 com.host.application 0x0000000100001062 main + 34 (main.m:13)
13 com.host.application 0x0000000100001034 start + 52
Thread 1: Dispatch queue: com.apple.libdispatch-manager
0 libSystem.B.dylib 0x00007fff890c9c0a kevent + 10
1 libSystem.B.dylib 0x00007fff890cbadd _dispatch_mgr_invoke + 154
2 libSystem.B.dylib 0x00007fff890cb7b4 _dispatch_queue_invoke + 185
3 libSystem.B.dylib 0x00007fff890cb2de _dispatch_worker_thread2 + 252
4 libSystem.B.dylib 0x00007fff890cac08 _pthread_wqthread + 353
5 libSystem.B.dylib 0x00007fff890caaa5 start_wqthread + 13
Thread 2:
0 libSystem.B.dylib 0x00007fff890caa2a __workq_kernreturn + 10
...
Ich stelle fest:
- passiert nur, wenn ich das letzte Fenster schließe
- und zwar reproduzierbar
- egal ob per Klick oder Appel+W
Kommen wir also nun zum Kern des Ganzen, der How To Anfrage:
How To the Teufel bekomme ich jetzt raus, wer mir wann warum meine Instanz von NSDocument wegtritt respektive wer wie warum danach noch damit reden will?
Das Dokument besitzt nur zwei assigned Outlets und ein eigenes View, welches brav im dealloc auf 'nil' gesetzt wird.
Ich habe eigentlich nur zwei Objekte in Verdacht, die vom Dokument bei jedem Klick in sich das View abfragen. Die schicken aber vorher kein -respondsToSelector.
Wie finde ich heraus was da kaputt ist?
«Applejack» "Don't you use your fancy mathematics to muddle the issue!"
Iä-86! Iä-64! Awavauatsh fthagn!
Iä-86! Iä-64! Awavauatsh fthagn!
kmr schrieb:
Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Lucas de Vil ()