Breakpoint auf eine bestimmte Funktion oder Methode in Xcode setzen
- Einführung
- Breakpoints auf eine Funktion oder Methode setzen
- Symbolischen Breakpoint erstellen
- Origin Binding und Optionen
- Alternatives Vorgehen: Breakpoint direkt im Code setzen
- Zusammenfassung
Einführung
In Xcode ist das Setzen von Breakpoints eine essenzielle Technik zur Fehlersuche und zum Debuggen von Programmen. Ein Breakpoint hält die Ausführung des Programms an einer bestimmten Stelle an, sodass Sie den aktuellen Zustand, Variablenwerte und den Kontrollfluss untersuchen können. Es ist möglich, Breakpoints nicht nur an einer bestimmten Codezeile zu setzen, sondern auch direkt auf Funktionen oder Methoden. Dies ist besonders hilfreich, wenn Sie gezielt die Ausführung überwachen wollen, unabhängig davon, von wo aus die Methode aufgerufen wird.
Breakpoints auf eine Funktion oder Methode setzen
Um einen Breakpoint auf eine bestimmte Funktion oder Methode zu setzen, können Sie die integrierte Breakpoint-Verwaltung von Xcode verwenden. Anstatt manuell im Code die entsprechende Zeile zu finden, lassen sich symbolische Breakpoints definieren, die unabhängig vom Quellcode an allen Aufrufen einer bestimmten Funktion aktiv werden.
Symbolischen Breakpoint erstellen
Gehen Sie dafür im Xcode-Menü auf Debug und anschließend auf Breakpoint Navigator (Shortcut: Cmd+7). Dort sehen Sie eine Liste aller aktuellen Breakpoints. Unten links befindet sich ein Plus-Symbol (+), mit dem Sie neue Breakpoints hinzufügen können.
Wählen Sie hier Add Symbolic Breakpoint.... Ein neues Fenster erscheint, in dem Sie den Namen der Funktion oder Methode eingeben können, auf die Sie den Breakpoint setzen möchten. Dabei geben Sie den Funktionsnamen exakt so ein, wie er im Quellcode definiert ist, inklusive Namespace oder Klassennamen, falls notwendig.
Zum Beispiel könnten Sie für die Methode myFunction() einfach myFunction eingeben. Für Methoden in Klassen könnte es nötig sein, den vollqualifizierten Namen anzugeben, etwa MyClass.myMethod. Wenn Sie Objective-C oder Swift verwenden, sollten Sie genau prüfen, wie der Methodenname intern lautet, insbesondere bei Overloads oder Parametern.
Origin Binding und Optionen
Nachdem Sie den Symbolischen Breakpoint erstellt haben, können Sie optional Bedingungen hinzufügen, damit der Breakpoint nur unter bestimmten Voraussetzungen auslöst. Auch ist es möglich, Aktionen wie das Ausgeben von Nachrichten im Debugger oder das automatische Fortsetzen nach dem Auslösen zu definieren.
Die Funktionalität des symbolischen Breakpoints ist sehr mächtig, da sie unabhängig von der genauen Position im Quelltext funktioniert. Egal an welcher Stelle im Code die Methode aufgerufen wird, sobald sie erreicht wird, hält der Debugger an.
Alternatives Vorgehen: Breakpoint direkt im Code setzen
Wenn Sie die Funktionsdefinition schnell finden, können Sie auch einfach in der Quelldatei die Zeile markieren, in der die Funktion beginnt, und rechts in der gutter-Leiste (links neben dem Code) mit einem Klick einen Breakpoint setzen. Dies ist allerdings weniger flexibel, da der Breakpoint dann nur an genau dieser Stelle aktiv wird. Ein symbolischer Breakpoint erkennt jeden Aufruf der Funktion.
Zusammenfassung
Das Setzen eines Breakpoints auf eine bestimmte Funktion oder Methode in Xcode erfolgt am besten über einen symbolischen Breakpoint. Über den Breakpoint Navigator lassen sich diese bequem verwalten und konfigurieren. Dies hilft Ihnen beim Debuggen, insbesondere wenn Sie den Programmfluss an einer Funktion unabhängig von ihrer konkreten Position im Code verfolgen möchten.