Xcode Debugging Tips

View in Debug Hierarchie finden

Der graphische Debugger in Xcode zeigt eine zwei- oder drei-dimensionale Ansicht der App. Wenn man auf ein Objekt in dieser GUI klickt, kann man rechts im Inspector Details dazu sehen. Um jedoch links in der üblicherweise recht umfangreichen View-Hierarchie dieses Objekt zu finden, braucht man nur Cmd-Shift-d drücken und dann wird der View in der Debug Hierachie hervorgehoben.

Breakpoint-Nachrichten im Notification Center

Ich benutze gerne symbolische Breakpoints, die nicht an eine bestimmte Zeile gebunden sind, sondern aktiv werden, sobald etwas Interessantes aufgerufen wird von meiner App, direkt oder indirekt. Ich möchte zum Beispiel, daß mir eine Nachricht ins Debug Log geschrieben wird, einen Warnton hören, einen Backtrace (Aufrufhierachie) im Debug Log sehen und im Notification Center eine Nachricht lesen, sobald irgendetwas in meinem Programm

+[NSURLConnection sendSynchronousRequest:returningResponse:error:]

aufruft, denn synchrone Netzaufrufe sind schlecht (und mit "schlecht" meine ich schlecht im Ghostbusters-Sinn), aber dazu mehr in einem anderen Kapitel.

Bis auf die Nachricht im Notification Center geht das alles mit den vorhandenen Bordmitteln. Also habe ich mir den Terminal Notifier installiert und für eine Aktion "Shell Command" des Breakpoints als Command und Arguments folgendes eingestellt, das mir in der GUI Bescheid sagt, wie oft es schon aufgetreten ist:

/usr/bin/terminal-notifier
-title, "Synchronous request detected!", -message, %H time(s) now

Geschieht also nun solch ein synchroner Netzaufruf, dann bricht die Hölle los und ich krieg Bescheid, wo es genau passiert ist und wie oft. Die Konfiguration ist hier als Bild zu sehen:

Symbolic Breakpoint

Valid XHTML 1.0!

Besucherzähler


Latest Update: 03. August 2016 at 10:30h (german time)
Link: warcraft.realmacmark.de/dev/osx_dev_debugging.php