Anzeigen und Bearbeiten von Arbeitsspeicher in WinDbg (Klassisch)
In WinDbg können Sie Arbeitsspeicher anzeigen und bearbeiten, indem Sie Befehle eingeben oder ein Speicherfenster verwenden.
Debuggerbefehlsfenster
Sie können den Arbeitsspeicher anzeigen, indem Sie einen der Befehle Speicher anzeigen im Fenster Debuggerbefehl eingeben. Sie können den Arbeitsspeicher bearbeiten, indem Sie einen der Werte eingeben-Befehle im Fenster Debuggerbefehl eingeben. Weitere Informationen finden Sie unter Zugreifen auf Arbeitsspeicher nach virtueller Adresse und Zugreifen auf Arbeitsspeicher nach physischer Adresse.
Öffnen eines Arbeitsspeicherfensters
Wählen Sie zum Öffnen eines Speicherfensters im Menü Ansicht die Option Arbeitsspeicher aus. (Sie können auch ALT+5 drücken oder die Schaltfläche Arbeitsspeicher auswählen (
Der folgende Screenshot zeigt ein Beispiel für ein Speicherfenster.
Verwenden eines Speicherfensters
Im Fenster "Arbeitsspeicher" werden Daten in mehreren Spalten angezeigt. Die Spalte auf der linken Seite des Fensters zeigt die Anfangsadresse jeder Zeile an. In den übrigen Spalten werden die angeforderten Informationen von links nach rechts angezeigt. Wenn Sie im Menü Anzeigeformatdie Option Bytes auswählen, werden die ASCII-Zeichen, die diesen Bytes entsprechen, auf der rechten Seite des Fensters angezeigt.
Hinweis Standardmäßig wird im Fenster "Arbeitsspeicher" virtueller Arbeitsspeicher angezeigt. Dieser Speichertyp ist der einzige Speichertyp, der im Benutzermodus verfügbar ist. Im Kernelmodus können Sie das Dialogfeld Speicheroptionen verwenden, um physischen Arbeitsspeicher und andere Datenplätze anzuzeigen. Das Dialogfeld Speicheroptionen wird weiter unten in diesem Thema beschrieben.
Im Fenster "Arbeitsspeicher" können Sie die folgenden Schritte ausführen:
Um in den Arbeitsspeicher zu schreiben, wählen Sie im Speicherfenster aus, und geben Sie neue Daten ein. Sie können nur hexadezimale Daten bearbeiten. Ascii- und Unicode-Zeichen können nicht direkt bearbeitet werden. Änderungen werden wirksam, sobald Sie neue Informationen eingeben.
Um andere Speicherabschnitte anzuzeigen, verwenden Sie die Schaltflächen Zurück und Weiter auf der Symbolleiste des Speicherfensters, oder drücken Sie die TASTE PAGE UP oder PAGE DOWN. Diese Schaltflächen und Tasten zeigen die unmittelbar vorhergehenden oder folgenden Speicherabschnitte an. Wenn Sie eine ungültige Seite anfordern, wird eine Fehlermeldung angezeigt.
Um im Fenster zu navigieren, verwenden Sie die NACH-RECHTS-, NACH-LINKS-, NACH-OBEN- und NACH-UNTEN-TASTE. Wenn Sie diese Schlüssel verwenden, um von der Seite zu wechseln, wird eine neue Seite angezeigt. Bevor Sie diese Schlüssel verwenden, sollten Sie die Größe des Speicherfensters ändern, sodass es keine Bildlaufleisten enthält. Durch diese Größenanpassung können Sie zwischen dem tatsächlichen Seitenrand und dem Fensterausschnitt unterscheiden.
Um den angezeigten Speicherspeicherort zu ändern, geben Sie oben im Speicherfenster eine neue Adresse in das Feld Adresse ein. Beachten Sie, dass das Speicherfenster seine Anzeige aktualisiert, während Sie eine Adresse eingeben, sodass Sie Fehlermeldungen erhalten können, bevor Sie die Eingabe der Adresse abgeschlossen haben.
Hinweis Die Adresse, die Sie in das Feld eingeben, wird im aktuellen Radix interpretiert. Wenn das aktuelle Radix nicht 16 ist, sollten Sie einer hexadezimalen Adresse 0x voranstellen. Um den Standardradix zu ändern, verwenden Sie den Befehl n (Zahlenbasis festlegen) im Fenster Debuggerbefehl. Die Anzeige im Speicherfenster selbst ist vom aktuellen Radix nicht betroffen.
Um den Datentyp zu ändern, den das Fenster zum Anzeigen des Arbeitsspeichers verwendet, verwenden Sie das Menü Anzeigeformat in der Symbolleiste des Speicherfensters. Zu den unterstützten Datentypen gehören kurze Wörter, doppelte Wörter und Vierfachwörter. kurze, lange und vierfache ganze Zahlen und ganze Zahlen ohne Vorzeichen; 10-Byte-, 16-Byte-, 32-Bit- und 64-Bit-Reelle Zahlen; ASCII-Zeichen; Unicode-Zeichen; und hexadezimale Bytes. Die Anzeige von Hexadezimalbytes enthält auch ASCII-Zeichen.
Das Fenster "Arbeitsspeicher" verfügt über eine Symbolleiste mit zwei Schaltflächen, einem Menü und einem Feld sowie über ein Kontextmenü mit zusätzlichen Befehlen. Um auf das Menü zuzugreifen, halten Sie die Titelleiste gedrückt (oder klicken Sie mit der rechten Maustaste darauf), oder wählen Sie das Symbol in der oberen rechten Ecke des Fensters auf der Symbolleiste aus. ALT+UMSCHALT+5 schließt das aktive Speicherfenster.
(Nur Symbolleiste) Mit dem Adressfeld können Sie eine neue Adresse oder einen Offset angeben. Die genaue Bedeutung dieses Felds hängt vom speichertyp ab, den Sie anzeigen. Wenn Sie beispielsweise virtuellen Arbeitsspeicher anzeigen, können Sie mit dem Feld eine neue virtuelle Adresse oder einen Offset angeben.
(Nur Symbolleiste) Mit dem Anzeigeformat können Sie ein neues Anzeigeformat auswählen.
(Symbolleiste und Menü) Vorherige Seite (auf der Symbolleiste) und Vorherige Seite (im Kontextmenü) führen dazu, dass der vorherige Abschnitt des Arbeitsspeichers angezeigt wird.
(Symbolleiste und Menü) Next (auf der Symbolleiste) und Nächste Seite (im Kontextmenü) führen dazu, dass der nächste Abschnitt des Arbeitsspeichers angezeigt wird.
(Nur Menü) Symbolleiste aktiviert und deaktiviert die Symbolleiste.
(Nur Menü) Durch automatisches Anpassen von Spalten wird sichergestellt, dass die Anzahl der im Speicherfenster angezeigten Spalten der Breite des Speicherfensters entspricht.
(Nur Menü) Dock oder Rückgängig bewirkt, dass das Fenster in den angedockten Zustand wechselt oder verlässt.
(Nur Menü) Wenn Sie zu einem neuen Dock wechseln , wird das Speicherfenster geschlossen und in einem neuen Dock geöffnet.
(Nur Menü) Als Tab-Dock-Ziel für fenstertyp festgelegt , legt das ausgewählte Speicherfenster als Tab-Dock-Ziel für andere Speicherfenster fest. Alle Speicherfenster, die geöffnet werden, nachdem eins als Tab-Dock-Ziel ausgewählt wurde, werden automatisch mit diesem Fenster in einer Sammlung im Registerkartenformat gruppiert.
(Nur Menü) Immer schwebend führt dazu, dass das Fenster nicht angedockt bleibt, auch wenn es an einen Andockort gezogen wird.
(Nur Menü) Beim Verschieben mit Frame wird das Fenster verschoben, wenn der WinDbg-Frame verschoben wird, auch wenn das Fenster nicht angedockt ist.
(Nur Menü) Eigenschaften öffnen das Dialogfeld Speicheroptionen , das im folgenden Abschnitt in diesem Thema beschrieben wird.
(Nur Menü) Hilfe öffnet dieses Thema in der Dokumentation Debugtools für Windows.
(Nur Menü) Schließen schließt dieses Fenster.
Dialogfeld "Speicheroptionen"
Wenn Sie im Kontextmenü Eigenschaften auswählen, wird das Dialogfeld Speicheroptionen angezeigt.
Im Kernelmodus stehen in diesem Dialogfeld sechs Speichertypen als Registerkarten zur Verfügung: Virtueller Arbeitsspeicher, physischer Arbeitsspeicher, Busdaten, Steuerungsdaten, E/A (E/A-Portinformationen) und MSR (modellspezifische Registerinformationen). Wählen Sie die Registerkarte aus, die den Informationen entspricht, auf die Sie zugreifen möchten.
Im Benutzermodus ist nur die Registerkarte Virtueller Arbeitsspeicher verfügbar.
Mit jeder Registerkarte können Sie den Speicher angeben, den Sie anzeigen möchten:
Geben Sie auf der Registerkarte Virtueller Arbeitsspeicher im Feld Offset die Adresse oder den Offset des Anfangs des Speicherbereichs an, den Sie anzeigen möchten.
Geben Sie auf der Registerkarte Physischer Arbeitsspeicher im Feld Offset die physische Adresse am Anfang des Speicherbereichs an, den Sie anzeigen möchten. Das Speicherfenster kann nur beschriebenen, zwischenspeicherbaren physischen Arbeitsspeicher anzeigen. Wenn Sie physischen Arbeitsspeicher mit anderen Attributen anzeigen möchten, verwenden Sie den Befehl d* (Speicher anzeigen) oder die Erweiterung !d\* .
Geben Sie auf der Registerkarte Busdaten im Menü Busdatentyp den Busdatentyp an. Verwenden Sie dann die Felder Busnummer, Slotnummer und Offset , um die Busdaten anzugeben, die Sie anzeigen möchten.
Verwenden Sie auf der Registerkarte Steuerungsdaten die Textfelder Prozessor und Offset , um die Steuerelementdaten anzugeben, die Sie anzeigen möchten.
Geben Sie auf der Registerkarte E/A im Menü Schnittstellentyp den E/A-Schnittstellentyp an. Verwenden Sie die Felder Busnummer, Adressraum und Offset , um die Daten anzugeben, die Sie anzeigen möchten.
Geben Sie auf der Registerkarte MSR im Feld MSR das modellspezifische Register an, das Sie anzeigen möchten.
Jede Registerkarte enthält auch ein Menü "Anzeigeformat" . Dieses Menü hat die gleiche Auswirkung wie das Menü Anzeigeformat im Speicherfenster.
Wählen Sie im Dialogfeld Speicheroptionenok aus, damit Ihre Änderungen wirksam werden.
Zusätzliche Informationen
Weitere Informationen zur Speicherbearbeitung und eine Beschreibung anderer speicherbezogener Befehle finden Sie unter Lesen und Schreiben von Arbeitsspeicher.