Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Im vorigen Abschnitt haben Sie gesehen, wie Sie mit dem Debugger einen Division-durch-Null-Fehler finden und beheben können. Die meisten Abstürze sind aber nicht so offensichtlich. Der weitaus häufigste Grund für einen Absturz ist ein Fehler des Typs EXC_BAD_ ACCESS, der immer von einem Zeigerfehler herrührt, zum Beispiel durch eine vergessene Initialisierung eines Zeigers, der Verwendung eines referenzierten numerischen Werts (statt des Zeigers) als Adresse und so weiter.
Ein ganz einfaches Beispiel ist, einem Zeiger nichts zuzuweisen:
Debugging/Primes/Classes/PathologicalPrimeCounterViewController.m
NSString *nullReferenceString; NSLog (nullReferenceString);
Da nullReferenceString nie alloziert und zugewiesen wird, ist die Referenz nicht nutzbar, und der erste Versuch, darauf zuzugreifen, führt zu einem Absturz mit dem Fehler EXC_BAD_ACCESS. Glücklicherweise lässt sich das mit dem Debugger sehr leicht herausfinden (siehe Abbildung 27.11).