Sind "EXC_BREAKPOINT (SIGTRAP)" - Ausnahmen, die durch das Debuggen von Haltepunkten verursacht wurden?

Ich habe eine Multithread-App, die auf allen meinen Testcomputern sehr stabil ist und für fast jeden meiner Benutzer stabil zu sein scheint (basierend auf keinen Beschwerden über Abstürze). Die App stürzt jedoch häufig für einen Benutzer ab, der freundlich genug war, Absturzberichte zu senden. Alle Absturzberichte (~ 10 aufeinanderfolgende Berichte) sehen im Wesentlichen identisch aus:

Date/Time:       2010-04-06 11:44:56.106 -0700
OS Version:      Mac OS X 10.6.3 (10D573)
Report Version:  6

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.CoreFoundation        0x90ab98d4 __CFBasicHashRehash + 3348
1   com.apple.CoreFoundation        0x90adf610 CFBasicHashRemoveValue + 1264
2   com.apple.CoreText              0x94e0069c TCFMutableSet::Intersect(__CFSet const*) const + 126
3   com.apple.CoreText              0x94dfe465 TDescriptorSource::CopyMandatoryMatchableRequest(__CFDictionary const*, __CFSet const*) + 115
4   com.apple.CoreText              0x94dfdda6 TDescriptorSource::CopyDescriptorsForRequest(__CFDictionary const*, __CFSet const*, long (*)(void const*, void const*, void*), void*, unsigned long) const + 40
5   com.apple.CoreText              0x94e00377 TDescriptor::CreateMatchingDescriptors(__CFSet const*, unsigned long) const + 135
6   com.apple.AppKit                0x961f5952 __NSFontFactoryWithName + 904
7   com.apple.AppKit                0x961f54f0 +[NSFont fontWithName:size:] + 39

(.... weiterer Text folgt)

Zunächst habe ich lange nach [NSFont fontWithName: size:] gesucht. Ich nahm an, dass die Schriften des Benutzers vielleicht irgendwie durcheinander sind, sodass [NSFont fontWithName: size:] etwas Nichtexistierendes anforderte und aus diesem Grund fehlschlug. Ich habe eine Reihe von Code mit [[NSFontManager sharedFontManager] availableFontNamesWithTraits: NSItalicFontMask] hinzugefügt, um die Verfügbarkeit von Schriftarten im Voraus zu überprüfen. Leider konnten diese Änderungen das Problem nicht beheben.

Ich habe jetzt bemerkt, dass ich vergessen habe, einige Debug-Haltepunkte zu entfernen, einschließlich _NSLockError, [NSException raise] und objc_exception_throw. Die App wurde jedoch definitiv mit "Release" als aktive Build-Konfiguration erstellt. Ich gehe davon aus, dass die Verwendung der "Release" -Konfiguration das Festlegen von Haltepunkten verhindert. Andererseits bin ich mir nicht sicher, wie Haltepunkte genau funktionieren oder ob das Programm in gdb ausgeführt werden muss, damit Haltepunkte wirksam werden.

Meine Fragen sind: Kann mein Verlassen der festgelegten Haltepunkte die Ursache für die vom Benutzer beobachteten Abstürze sein? Wenn ja, warum würden die Haltepunkte nur für diesen einen Benutzer ein Problem verursachen? Wenn nicht, hat jemand andere ähnliche Probleme mit [NSFont fontWithName: size:]?

Ich werde wahrscheinlich nur versuchen, die Haltepunkte zu entfernen und an den Benutzer zurückzusenden, aber ich bin mir nicht sicher, wie viel Währung ich noch bei diesem Benutzer habe. Und ich möchte allgemeiner verstehen, ob das Belassen der gesetzten Haltepunkte möglicherweise zu Problemen führen kann (wenn die App mit der "Release" -Konfiguration erstellt wurde).

Antworten auf die Frage(4)

Ihre Antwort auf die Frage