2 tdb1.giftdb1.eps

Abstract:

Diese Kurzreferenz bezieht sich auf die Kommandos des Tcl-Debuggers tdb in der Version 3.1 vom 7. Juli 1996.

Allgemeines

Alle Kommandos des Debuggers können über das Kommandozeileninterface von tdb eingegeben werden. Menüs und Buttons erlauben lediglich eine Abkürzung indem sie oft benutzte Kommandos zusammenfassen.

Das Eingabefenster

Das Eingabefenster am unteren Rand von tdb ist zeilenorientiert. Mit der Return-Taste wird die Zeile, in der der Cursor steht, als Kommando an tdb übergeben. Zeilen können so wiederverwendet beziehungsweise verändert werden. Return in einer leeren Zeile wiederholt das letzte Kommando. Die meisten (einfachen) Emacs-Kommandos funktionieren ebenso wie die von Motif her bekannten Kommandos zum Editieren von Texten.

Kommando-Syntax

Kommandos an tdb orientieren sich an der generellen Tcl-Kommando-Syntax und haben folgenden einfachen Aufbau:

cmd ?opts? ?args?

cmd ist dabei der Name des auszuführenden Kommandos (wie help oder info. opts können Optionen sein, die die Ausführung des Kommandos beeinflussen. Optionen sind immer spezifisch für ein Kommando und bestehen aus einem Optionsnamen (z.B. -win) und (optional) einem Wert (z.B. echo -win Error).

args sind weitere Argumente, die das Kommando (möglicherweise) benötigt (z.B. ret 3 um aus den tiefsten 3 Stackebenen zurückzukehren).

Arbeitsumgebung einstellen

run
Laden eines neuen Programmes. run progname und run progname.tcl laden ein neues Tcl-Programm mit den angegebenen Argumenten in den Debugger. Werden weder Name noch Argumente angegeben, so wird das alte Programm mit den vorherigen Argumenten neu gestartet.
exit
Beenden des Debuggers.
entry
Der Einstiegspunkt des Programmes wird auf eine andere Funktion als main (Default) geändert. Das Programm muß meist neu gestartet werden (mit run).
startup
Laden des Files mit Initialisierungscode für den gerade untersuchten Prozess.
cd
Wechseln in ein neues Unterverzeichnis (sowohl für den Debugger als auch für den untersuchten Prozess).
command
Laden, Speichern und Erzeugen neuer Debugger-Kommandos.
script
Laden, Speichern und Erzeugen neuer Scripts mit Debugger-Kommandos.
source
Laden einer Tcl-Datei in den untersuchten Prozess.

Informationen über das Programm

info
Informationen über den untersuchten Prozess. info prog gibt Informationen über das ablaufende Programm, info locals über die aktuellen lokalen Variablen, info globals über die globalen Variablen info stack über den aktuellen Aufrufstack, info line über die gerade ausgeführte Zeile, info procs ?name? über alle oder eine bestimmte Prozedur und info files über die geladenen Tcl-Dateien. (siehe help info für weitere Details).
show
gibt Informationen über den Debugger selbst. show break listet die gesetzten Breakpoints, show script gibt Informationen zu geladenen Script-Dateien.
help
Hilfe-Funktion. Aufgerufen mit help cmd erhält man Hilfe zu einer bestimmten Funktion des Debuggers.

Breakpoints im Programm

Breakpoints gibt es in zwei Varianten:
SoftBreaks sind Breakpoints, die an jeder Stelle des Programmes stehen können. Der Debugger findet sie durch den (textuellen) Vergleich des aktuellen Befehls mit dem angegebenen Breakpoint.

HardBreaks werden direkt im Programm gesetzt (sind somit Tcl-Befehle) und können daher auch nicht an jeder Stelle eingefügt werden. Sie haben den Vorteil, daß sie genau eine bestimmte Stelle im Programm spezifizieren.

break
Setzen eines Breakpoints. break <name> setzt einen weichen Breakpoint auf den Begriff name, break -hard <name> setzt einen harten Breakpoint.
del
Löschen eines (oder aller) Breakpoints. Wird ein Name angegeben, so wird nur dieser Breakpoint gelöscht, ansonsten werden alle (oder nur alle Breakpoints eines Typs mit der -hard- bzw. -soft-Option) gelöscht.

Steuern des Programmes

step
Ausführen des nächsten Tcl-Statements. Handelt es sich beim aktuellen Befehl um den Aufruf einer Prozedur, so ist dies der erste Befehl dieser Prozedur.
next
Ausführen des nächsten Tcl-Befehls. Handelt es sich beim aktuellen Befehl um den Aufruf einer Prozedur, so wird diese Prozedur als ein Befehl ausgeführt. Breakpoints innerhalb der Prozedur werden jedoch berücksichtigt.
cont
Fortführen des Programmes bis zum nächsten Breakpoint. Mit cont -real werden nur harte Breakpoints berücksichtigt.
go
Ausführen des Programmes bis zum Befehl der mit go <Befehl> angegeben wird.
ret
Rückkehr aus dem gerade ausgeführten Unterprogramm. Mit einer Zahl als Argument werden soviele Stack-Level beendet.

Variablen-Manipulation

call
Aufruf einer Prozedur innherhalb des untersuchten Programmes (alle Breakpoints werden ignoriert, Ausführung in Echtzeit). Kann zur Anzeige von komplexen Datenstrukturen verwendet werden.
get
Anzeige einer bestimmten lokalen Variablen.
set
Setzen einer Variablen im gerade untersuchten Kontext.
getglob
Gleich wie get, bezieht sich allerdings auf globale Variablen.
setglob
Gleich wie set, bezieht sich allerdings auf globale Variablen.



softWorks
Richard Schwaninger
Sun Jul 21 15:24:17 MET DST 1996