Mit dem Arbeitsspeicher-Prüftool können Sie den ArrayBuffer
-, TypedArray
- und DataView
-Speicher in JavaScript sowie den WebAssembly.Memory
von in C++ geschriebenen Wasm-Anwendungen prüfen.
Übersicht
Der Speicherprüfer organisiert Speicherinhalte und hilft Ihnen, sich schnell in großen Arrays zurechtzufinden. Sie können die ASCII-Werte des Arbeitsspeicherinhalts direkt neben den Bytes anzeigen und eine andere Endianness auswählen. Verwenden Sie den Speicherprüfer, während Sie Ihre Webanwendung debuggen, um einen effizienten Workflow zu ermöglichen.
Memory Inspector öffnen
Es gibt mehrere Möglichkeiten, den Speicherprüfer zu öffnen.
Über das Menü öffnen
- Öffnen Sie die Entwicklertools.
- Klicken Sie auf Weitere Optionen
> Weitere Tools > Speicherprüftool.
Während des Debuggens öffnen
- Öffnen Sie eine Seite mit JavaScript
ArrayBuffer
. Wir verwenden diese Demoseite. - Öffnen Sie die Entwicklertools.
- Öffnen Sie die Datei demo-js.js im Bereich Quellen und setzen Sie einen Haltepunkt in Zeile 18.
- Aktualisieren Sie die Seite.
- Maximieren Sie den Bereich Umfang im rechten Bereich Debugger.
So öffnen Sie den Arbeitsspeicher-Prüftool:
- Über das Symbol Klicken Sie auf das Symbol neben der Property
buffer
oder - Über das Kontextmenü Klicken Sie mit der rechten Maustaste auf die Eigenschaft
buffer
und wählen Sie Im Bereich „Memory Inspector“ anzeigen aus.
- Über das Symbol Klicken Sie auf das Symbol neben der Property
Mehrere Objekte prüfen
- Sie können auch DataView oder TypedArray prüfen. Beispiel:
b2
ist einTypedArray
. Klicken Sie dazu mit der rechten Maustaste auf die Eigenschaftb2
und wählen Sie Im Bereich „Memory Inspector“ anzeigen aus. FürTypedArray
oderDataView
gibt es noch kein Symbol. - Im Memory Inspector wird ein neuer Tab geöffnet. Sie können mehrere Objekte gleichzeitig prüfen.
Arbeitsspeicher-Prüftool
Der Arbeitsspeicher-Inspektor besteht aus drei Hauptbereichen:
Navigationsleiste
- In der Adresseingabe wird die aktuelle Byteadresse im Hexadezimalformat angezeigt. Sie können einen neuen Wert eingeben, um zu einer neuen Stelle im Speicherbuffer zu springen. Geben Sie beispielsweise
0x00000008
ein. - Arbeitsspeicher-Puffer können länger als eine Seite sein. Anstatt zu scrollen, können Sie die Schaltflächen Links und Rechts verwenden, um sich zu bewegen.
- Mit den Schaltflächen auf der linken Seite können Sie vor- und zurück springen.
- Standardmäßig wird der Puffer beim Schritten automatisch aktualisiert. Falls nicht, können Sie mit der Schaltfläche Aktualisieren den Speicher aktualisieren und den Inhalt aktualisieren.
Arbeitsspeicherpuffer
- Links wird die Adresse im Hexadezimalformat angezeigt.
- Der Arbeitsspeicher wird ebenfalls im Hexadezimalformat angezeigt, wobei jedes Byte durch ein Leerzeichen getrennt ist. Das derzeit ausgewählte Byte ist hervorgehoben. Sie können auf das Byte klicken oder mit der Tastatur (links, rechts, oben, unten) navigieren.
- Auf der rechten Seite wird eine ASCII-Darstellung des Arbeitsspeichers angezeigt. Ein Highlight zeigt den entsprechenden Wert der ausgewählten Bits im Byte an. Ähnlich wie beim Arbeitsspeicher können Sie auf das Byte klicken oder mit der Tastatur (links, rechts, oben, unten) navigieren.
Wertprüftool
- In der oberen Symbolleiste befindet sich eine Schaltfläche, mit der Sie zwischen Big- und Little-Endian wechseln und die Einstellungen öffnen können. Öffnen Sie die Einstellungen, um auszuwählen, welche Werttypen standardmäßig im Inspector angezeigt werden sollen.
- Im Hauptbereich werden alle Wertinterpretationen gemäß den Einstellungen angezeigt. Standardmäßig werden alle angezeigt.
- Die Codierung ist anklickbar. Sie können zwischen dec, hex und oct für Ganzzahlen und sci und dec für Gleitkommazahlen wechseln.
Arbeitsspeicher prüfen
Sehen wir uns das gemeinsam an.
- Führen Sie die folgenden Schritte aus, um die Fehlerbehebung zu starten.
- Ändern Sie die Adresse in der Adresseingabe in
0x00000027
. - Sehen Sie sich die ASCII-Darstellung und die Wertinterpretationen an. Alle Werte sind derzeit leer.
- Beachten Sie die blaue Schaltfläche Zur Adresse springen neben
Pointer 32-bit
undPointer 64-bit
. Sie können darauf klicken, um zur Adresse zu gelangen. Die Schaltflächen sind ausgegraut und nicht anklickbar, wenn die Adressen ungültig sind. - Klicken Sie auf Skriptausführung fortsetzen, um den Code Schritt für Schritt durchzugehen.
- Die ASCII-Darstellung wurde aktualisiert. Auch alle Wertinterpretationen werden aktualisiert.
- Passen wir den Wertinspektor so an, dass nur Gleitkommawerte angezeigt werden. Klicken Sie auf die Schaltfläche Einstellungen und setzen Sie nur ein Häkchen bei Gleitkommazahl (32-Bit) und Gleitkommazahl (64-Bit).
- Ändern wir die Codierung von
dec
insci
. Die Darstellung der Werte wird entsprechend aktualisiert. - Versuchen Sie, den Speicherpuffer mit der Tastatur oder über die Navigationsleiste zu durchsuchen. Wiederholen Sie Schritt 4, um die Werteänderungen zu beobachten.
WebAssembly-Speicherprüfung
Das WebAssembly.Memory
-Objekt ist ein ArrayBuffer
, das die Rohbytes des Objektspeichers enthält. Im Bereich Arbeitsspeicher-Prüftool können Sie solche Objekte in C++ geschriebenen Wasm-Anwendungen prüfen.
So nutzen Sie die WebAssembly.Memory
-Prüfung optimal:
- Verwenden Sie Chrome 107 oder höher. Prüfen Sie Ihre Version unter
chrome://version/
. - Installieren Sie die Erweiterung C/C++ DevTools Support (DWARF). Dies ist ein Plug-in zum Debuggen von C/C++-WebAssembly-Anwendungen mit DWARF-Debugging-Informationen.
So prüfen Sie den WebAssembly.Memory
eines Objekts:
- Öffnen Sie die Entwicklertools auf dieser Demoseite.
- Öffnen Sie im Bereich Quellen
demo-cpp.cc
und setzen Sie in Zeile 15 in der Funktionmain()
einen Haltepunkt:x[i] = n - i - 1;
. - Laden Sie die Seite neu, um die Anwendung auszuführen. Der Debugger pausiert am Haltepunkt.
- Maximieren Sie im Bereich Debugger die Option Scope > Local.
Klicken Sie auf das Symbol
neben dem Array
x: int[10]
.Alternativ können Sie mit der rechten Maustaste auf das Array klicken und Im Bereich „Memory Inspector“ anzeigen auswählen.
Wenn Sie das Hervorheben des Objektspeichers beenden möchten, bewegen Sie den Mauszeiger im Bereich Arbeitsspeicher-Inspektion auf das Objektsymbol und klicken Sie auf die Schaltfläche x
.
Weitere Informationen erhalten Sie unter: