Untersuchen eines JavaScript-Arraybuffers mithilfe des Speicherinspektors
Verwenden Sie die Speicherprüfung , um die folgenden Objekttypen anzuzeigen und mit ihnen zu interagieren:
Mithilfe des Speicherinspektors können Sie die verschiedenen Typen von Speicherobjekten anzeigen, navigieren und die Typen auswählen, die zum Interpretieren der Werte verwendet werden sollen. Sie zeigt die ASCII-Werte direkt neben den Bytes an, und Sie können eine andere Endianität auswählen.
Das Speicherprüfungstool bietet mehr Möglichkeiten als das Tool Quellen , das beim Debuggen überprüft ArrayBuffers
werden kann. Die Ansicht Bereich im Tool Quellen zeigt eine Liste einzelner Werte innerhalb des Arraypuffers an, wodurch es schwierig wird, alle Daten anzuzeigen. Darüber hinaus erfordert die Navigation zu einem bestimmten Bereich innerhalb des Puffers einen Bildlauf zu einem bestimmten Index, und die Werte werden immer als einzelnes Byte angezeigt, auch wenn Sie sie in einem anderen Format anzeigen möchten, z. B. 32-Bit-Ganzzahlen.
Öffnen des Speicherinspektors beim Debuggen
Starten Sie Microsoft Edge.
Öffnen Sie die Testwebsite Inspect ArrayBuffers in JS (Memory in JS).
Öffnen Sie DevTools, indem Sie F12 oder STRG+UMSCHALT+I (Windows, Linux) oder BEFEHL+WAHL+I (macOS) drücken.
Klicken Sie auf Quellen , und öffnen Sie die
demo-js.js
Datei.Legen Sie einen Haltepunkt in Zeile 18 fest, wie in der folgenden Abbildung dargestellt.
Aktualisieren Sie die Webseite. Es kann nicht angezeigt werden, weil javaScript am Haltepunkt angehalten wird.
Suchen Sie im rechten Debuggerbereich unter Bereich die
buffer
Zeile.In der
buffer
Zeile können Sie die Speicherprüfung mit einer der folgenden Methoden öffnen:Klicken Sie am Ende
buffer
der Eigenschaftenzeile auf das Panelsymbol Im Speicherinspektorbereich anzeigen (") oderAus dem Kontextmenü. Klicken Sie mit der rechten Maustaste auf die
buffer
Eigenschaft, und wählen Sie Im Bereich Speicherprüfung anzeigen aus.
Der JavaScript ArrayBuffer wird im Arbeitsspeicherinspektor geöffnet.
Überprüfen mehrerer Objekte
Sie können mehrere Objekte gleichzeitig untersuchen, z. B. DataView und TypedArray.
Während die Demowebseite am Haltepunkt angehalten wurde, ist das Objekt b2
in der Ansicht Bereich ein TypedArray. Klicken Sie mit der rechten Maustaste auf das b2
Objekt, und wählen Sie Im Bereich "Speicherprüfung anzeigen" aus.
Eine neue Registerkarte für das b2
Objekt wird neben der ersten Registerkarte geöffnet, die das buffer
Objekt im Speicherinspektor darstellt.
Navigieren im Arbeitsspeicherinspektor
Der Bereich "Speicherprüfung" enthält drei Arten von Inhalten:
Navigationsleiste
Im Textfeld Adresse eingeben wird die aktuelle Byteadresse im Hexady-Format angezeigt. Sie können den Wert ändern, um zu einem neuen Speicherort im Speicherpuffer zu springen. Klicken Sie in das Textfeld, und ändern Sie den Wert in 0x00000008
. Der Speicherpuffer springt sofort zu dieser Byteadresse.
Speicherpuffer können länger als eine Seite sein. Verwenden Sie die Nach-links- und nach-rechts-Schaltflächen, um durch Vorherige Seite (<) bzw . Nächste Seite (>) zu navigieren. Wenn nur eine Seite mit Speicherpufferdaten vorhanden ist, gelangen Sie mit den Pfeilen zum Anfang und Ende der Seite.
Verwenden Sie die linksseitigen Verlaufspfeile, um im Adressverlauf () und im Adressverlauf vorwärts ( Zurück.
Wenn der Speicherpuffer beim Durchlaufen von Werten nicht automatisch aktualisiert wird, klicken Sie auf Aktualisieren ().
Speicherpuffer
Wenn sie von der linken Seite des Bereichs gelesen wird, wird die Adresse im Hexax-Format angezeigt. Die aktuell ausgewählte Adresse ist fett formatiert.
Der Speicher wird auch im hexadächten Format angezeigt, wobei jedes Byte durch ein Leerzeichen getrennt ist. Das aktuell ausgewählte Byte ist hervorgehoben. Sie können auf ein beliebiges Byte klicken oder mit den Pfeiltasten (links, rechts, nach oben und nach unten) navigieren.
Die ASCII-Darstellung des Speichers wird auf der rechten Seite des Panels angezeigt. Das hervorgehobene Zeichen entspricht dem ausgewählten Byte. Sie können auf ein beliebiges Zeichen klicken oder mit den Pfeiltasten (links, rechts, nach oben und unten) navigieren.
Wertinspektor
Klicken Sie auf den aktuellen Endian-Typ, um zwischen Big Endian und Little Endian zu wechseln.
Der bereich Standard zeigt jeden Wert und jede Interpretation basierend auf den Einstellungen an. Standardmäßig werden alle Werte angezeigt.
Klicken Sie auf Werttypeinstellungen umschalten ( umschalten), um auszuwählen, welche Werttypen im Inspektor angezeigt werden sollen. Dies wird zur neuen Standardwerttypeinstellung.
Sie können die Codierungsansicht mithilfe der Dropdownliste ändern. Für ganze Zahlen können Sie zwischen dezimal dec
, hexadezimal hex
und oktal oct
wählen. Für Floats können Sie zwischen Dezimalschreibweise dec
und wissenschaftlicher Schreibweise sci
wählen.
Überprüfen des Arbeitsspeichers
Führen Sie die folgenden Schritte aus, um eine Webseite im Arbeitsspeicherinspektor zu debuggen.
Ändern Sie in der Navigationsleiste die Adresse in
0x00000027
.Zeigen Sie die ASCII-Darstellung und die Wertinterpretation an. Alle Werte sollten null oder leer sein.
Klicken Sie auf Skriptausführung fortsetzen (), oder drücken Sie F8 oder STRG+\ , um den Code schrittweise zu durchlaufen.
Die ASCII-Darstellung und die Wertinterpretation werden aktualisiert.
Klicken Sie bei Bedarf auf die Schaltfläche Zur Adresse springen () für Zeiger 32-Bit oder Zeiger 64-Bit , um zur nächsten aktiven Speicheradresse zu springen. Wenn die nächste Speicheradresse nicht verfügbar ist, wird die Schaltfläche () mit der QuickInfo Adresse außerhalb des Speicherbereichs deaktiviert.
Passen Sie den Wertinspektor so an , dass nur Gleitkommawerte angezeigt werden. Klicken Sie auf Werttypeinstellungen umschalten (Einstellungen für umschalten), und deaktivieren Sie alle Kontrollkästchen mit Ausnahme der beiden Gleitkommawerte .
Klicken Sie auf Einstellungen für Werttyp umschalten ( umschalten), um die Einstellungen für den Werttyp zu schließen.
Verwenden Sie die Dropdownlisten, um die Codierung von
dec
in zu ändernsci
. Die Wertdarstellungen werden aktualisiert.Erkunden Sie den Speicherpuffer mithilfe der Tastatur oder der Navigationsleiste.
Wiederholen Sie die Schritte 3 und 4 , um Wertänderungen zu beobachten.
WebAssembly-Speicherüberprüfung
Für die WebAssembly-Speicherüberprüfung (Wasm) ähnelt der Prozess der Überprüfung des JavaScript-Arbeitsspeichers.
Öffnen Sie die Wasm-Testwebsite Inspect Wasm memorys (Memory in Wasm).
Öffnen Sie DevTools, indem Sie F12 oder STRG+UMSCHALT+I (Windows, Linux) oder BEFEHL+WAHL+I (macOS) drücken.
Klicken Sie auf Quellen , und öffnen Sie die
memory-write.wasm
Datei.Legen Sie einen Haltepunkt in der ersten Zeile der Schleife fest, den Hexadezimalwert 0x03c.
Aktualisieren Sie die Seite.
Erweitern Sie im Debuggerbereich unter Bereich das Modul.
Klicken Sie am Ende
$imports.memory
der Eigenschaftenzeile auf das Panelsymbol Im Speicherinspektorbereich anzeigen (").Der Wasm ArrayBuffer wird im Arbeitsspeicherinspektor geöffnet.
Hinweis
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die von Google erstellt und geteilt und gemäß den in der Creative Commons Attribution 4.0 International License beschriebenen Bedingungen verwendet werden. Die originale Seite befindet sich hier und wird von Kim-Anh Tran erstellt.
Dieses Werk ist unter einer Creative Commons Attribution 4.0 International License lizenziert.