2009-06-02 7 views
5

Ich habe kürzlich entdeckt, dass Sie in Xcode Haltepunkte setzen können, die auf die Konsole drucken und automatisch fortgesetzt werden. Dies bedeutet, dass Sie Protokollanweisungen einfügen können, ohne NSLog() -Aufrufe schreiben und neu kompilieren zu müssen (on-the-fly logging, woot) .Wie kann ich einen Zeitstring in ein GDB-Protokoll einfügen?

Das einzige Problem ist, dass es etwas eingeschränkt scheint, was Sie bei einem Protokoll anzeigen können. Es zeigt einige Token, die Sie einfügen können, wie% B, um einige Informationen über den aktuellen Breakpoint oder% H für die Trefferanzahl auszudrucken.

Ich würde gerne wissen, ob es eine Möglichkeit gibt, kann ich einen Zeitstempel in einem bestimmten Format in die Protokollzeile einfügen?

habe ich versucht, mit der „Shell-Skript“ Unterbrechungsaktion zu spielen, aber es hat mir gesagt, dass der Befehl date nicht existiert .... seltsam ...

Jede Hilfe wäre genial, Danke Jungs!

Antwort

2

Lesen Sie die GDB manual about Breakpoint Command Lists

Sie jeden Knickpunkt geben kann (oder Beobachtungspunkt oder Catchpoint) eine Reihe von Befehlen auszuführen, wenn das Programm beendet aufgrund dieser Haltepunkt. Sie können beispielsweise die Werte bestimmter Ausdrücke drucken oder andere Haltepunkte aktivieren.

Und insbesondere:

zum Beispiel hier, wie Sie Breakpoint-Befehle verwenden könnten den Wert von x bei Eintritt drucken foo, wenn x positiv ist.

break foo if x>0 
commands 
silent 
printf "x is %d\n",x 
cont 
end 

Ist Ihre Frage beantworten?

+0

Ja, das sieht aus wie ich brauche, danke! – Jasarien