Nächste Seite: Typen ändern
Aufwärts: Darstellung der Daten
Vorherige Seite: Unstrukturierte Typen
Bei den strukturierten Typen kann der Debugger nicht auf einmal den
ganzen Wert der Variablen darstellen. Deshalb zeigt der Debugger oft
nur die Grösse oder die Anfangsadresse. Er bietet aber eine komfortable
Möglichkeit in die Struktur der Variablen vorzustossen.
Immer wenn der Debugger noch mehr Informationen zu einer Variablen hat,
schreibt er in einer Spalte hinter dem Variablennamen ein Sternchen. Dies
bedeutet, dass man mit der Maus die Variable anklicken kann. Der Debugger
zoomt dann in die Struktur hinein. Nach diesem Prinzip ist es möglich, auch
komplizierteste Datenstrukturen einfach durchzublättern.
Auch hier folgt wieder eine Liste aller möglichen Typen
und eine Aufzählung ihrer Besonderheiten:
- ARRAY
- Bei den ARRAYs wird als Wert die Grösse in Byte angegeben.
Statt der Grösse kann auch das Wort ,,(dyn)`` stehen, wenn die Variable
ein Prozedurparameter ist, der als ARRAY OF ... deklariert wurde.
Bei Feldern schreibt m2debug -- wie in der Einleitung erklärt --
ein Sternchen (*) hinter den Variablennamen. So wissen Sie, dass Sie die
Variable anklicken können;
sie erhalten dann eine Liste aller ARRAY-Elemente.
- RECORD
- Bei den RECORDs wird als Wert die Grösse
in Byte angegeben.
Auch hier erscheint ein Sternchen (*) hinter dem Variablennamen, damit Sie
nach einem Anklicken der Variablen eine Liste aller
RECORD-Felder bekommen.
In ist es möglich, verschiedene Felder in einem RECORD an die
gleiche Adresse zu legen, um Speicherplatz für Varianten zu sparen.
Im folgenden Beispiel sind die Felder ,,anzahlTasten``
und ,,fellFarbe``
am gleichen Ort im Speicher:
TYPE
Farbe = (grau, weiss, schwarz, braun);
MausInfo = RECORD
CASE computerMaus: BOOLEAN OF
| TRUE: anzahlTasten: INTEGER
| FALSE: fellFarbe: Farbe
END
END;
Um Ihnen auch bei den Varianten-RECORDs Anhaltspunkte zu liefern, wo
ein Feld ein anderes überlagert, schreibt m2debug vor den Namen
solcher Felder ein Copyright-Zeichen (
).
Das ,,c`` des Copyright-Zeichens soll an das Wort CASE erinnern.
- SET
- Bei einem SET wird der Wert hexadezimal ausgegeben. Da das
aufzählen aller gesetzten SET-Elemente mehr Platz
als eine Zeile benötigt,
erscheint auch hier ein Sternchen (*). Sie können sich die
einzelnen Elemente im SET anzeigen lassen,
indem Sie die Variable anklicken.
Das gleiche gilt auch für die vordefinierten Typen BITSET,
SHORTSET und LONGSET.
- POINTER
- Der Wert einer Variablen vom Typ POINTER oder
BPOINTER ist eine
Adresse im Speicher, auf welche die Variable zeigt. Diese Adresse wird
hexadezimal ausgegeben, oder m2debug schreibt im Fall von 0 NIL.
Durch Anklicken der Variablen -- sie ist demnach mit einem Sternchen (*)
gekennzeichnet -- können Sie weiter in die Datenstruktur vorstossen.
Anders ist dies bei Variablen eines opaken Typs. In diesem Fall schreibt
der Debugger anstelle eines Wertes das Wort ,,(opaque)``
und Sie können die
Variable nicht anklicken.
Weiter ist auch bei allen Variablen der Typen
ADDRESS und BPTR das Anklicken nicht möglich.
m2debug bietet
Ihnen aber die Möglichkeit, den Typ zu ändern (siehe Abschnitt 2.7.5
,,Typen ändern``)
- PROC
- Sowohl bei Variablen eines selbstdeklarierten
PROCEDURE-Typs als auch beim Typ PROC zeigt
Ihnen unser Debugger als
Wert die Anfangsadresse der Prozedur in hexadezimaler Form. Ein Anklicken
ist nicht möglich!
Nächste Seite: Typen ändern
Aufwärts: Darstellung der Daten
Vorherige Seite: Unstrukturierte Typen
Claudio Nieder
2000-11-12