Manchmal ist es nützlich, sich ganze Speicherbereiche auf einmal ansehen
zu können. Ein häufiger Anwendungsfall sind Pointer in C: Ist nämlich
eine Variable als Pointer statt als Array deklariert (z.B. in der
Argumentliste eines Unterprogramms), kann man im CXdb die Array-Notation
nicht verwenden, um Teilbereiche von Arrays darzustellen. Stattdessen kann
man sich dann einen Speicherbereich ansehen mit
examine[/MEMORY-UNIT FORMAT] START..ENDE
examine[/MEMORY-UNIT FORMAT] START:ANZAHL
Dabei bezeichnen START und ENDE die Anfangs- und Endadresse des
gewünschten Bereichs und ANZAHL die Zahl der auszugebenden Werte.
MEMORY-UNIT gibt gemäß folgender Tabelle an, wieviele Bytes ein einzelner
Wert hat:
Wert von MEMORY-UNIT |
Größe in Byte |
b |
1 |
h |
2 |
w |
4 |
l |
8 |
q |
16 |
FORMAT bezeichnet mit einem Buchstaben wie bei print das Ausgabeformat. Um
also etwa ein Array a von 12 Werten vom Typ ''double'' in C auszugeben,
verwendet man ''examine/lf a:12''. In FORTRAN müßte man statt des
Arraynamens den ''Pointer'' loc(a) verwenden, um die Anfangsadresse zu
erhalten.
Eine andere Möglichkeit, den Speicher zu durchforsten, die insbesondere
für größere Datenmengen geeignet ist, bietet das Examine-Fenster. Man
erhält es im ''ProcessWindows''-Menü des Source-Fensters unter ''create
Examine''. Über das ''DataView''-Menü kann man hier den Anfangsbereich und
die Ausgabeform auswählen sowie nach einem Wert im Speicher suchen.
Schließlich kann man noch Speicherbereiche kopieren oder mit konstanten
Werten füllen. Informationen dazu findet man im Online-Help unter ''fill''
und ''copy''.
Peter Junglas 18.10.1993