Speicherbereiche

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''.

previous    contents     next

Peter Junglas 18.10.1993