Inspektor pamięci: przejrzyj tablica tablica, typ tablicy, DataView i pamięć Wasm.

Użyj narzędzia do inspekcji pamięci, aby sprawdzić pamięć ArrayBuffer, TypedArrayDataView w JavaScriptie, a także WebAssembly.Memory w aplikacjach Wasm napisanych w C++.

Omówienie

Inspektor pamięci porządkuje zawartość pamięci i ułatwia szybkie poruszanie się po dużych tablicach. Możesz wyświetlać wartości ASCII zawartości pamięci bezpośrednio obok bajtów i wybierać różne kolejności bajtów. Aby usprawnić proces debugowania aplikacji internetowej, podczas jej testowania korzystaj z inspektora pamięci.

Otwieranie narzędzia do inspekcji pamięci

Narzędzie do inspekcji pamięci możesz otworzyć na kilka sposobów.

Otwieranie z menu

  1. Otwórz Narzędzia deweloperskie.
  2. Kliknij Więcej opcji Więcej > Więcej narzędzi > Inspektor pamięci. Menu narzędzia do inspekcji pamięci

Otwórz podczas debugowania

  1. Otwórz stronę z JavaScriptem ArrayBuffer. Użyjemy tej strony demonstracyjnej.
  2. Otwórz Narzędzia deweloperskie.
  3. W panelu Źródła otwórz plik demo-js.js i ustaw punkt przerwania w wierszu 18.
  4. Odśwież stronę.
  5. W panelu Debugger po prawej stronie rozwiń sekcję Zakres.
  6. Narzędzie do inspekcji pamięci możesz otworzyć:

    • Kliknij ikonę. klikając ikonę obok właściwości buffer.
    • W menu kontekstowym Kliknij prawym przyciskiem myszy właściwość buffer i wybierz Pokaż w panelu Menedżer pamięci.

    Pokaż w panelu Narzędzie do inspekcji pamięci

Sprawdzanie wielu obiektów

  1. Możesz też sprawdzić DataView lub TypedArray. Na przykład b2 jest TypedArray. Aby to sprawdzić, kliknij prawym przyciskiem myszy właściwość b2 i wybierz Pokaż w panelu Menedżer pamięci (ikona TypedArray lub DataView nie jest jeszcze dostępna).
  2. Otworzy się nowa karta w Narzędzie do inspekcji pamięci. Pamiętaj, że możesz sprawdzić wiele obiektów naraz. Nowa karta w narzędziu do inspekcji pamięci

Narzędzie do inspekcji pamięci

Narzędzie do inspekcji pamięci

Narzędzie do inspekcji pamięci składa się z 3 głównych obszarów:

Pasek nawigacyjny

  1. Wpis adresu zawiera aktualny adres bajtu w formacie szesnastkowym. Możesz wpisać nową wartość, aby przejść do nowego miejsca w buforze pamięci. Możesz na przykład użyć typu 0x00000008.
  2. Bufory pamięci mogą być dłuższe niż strona. Zamiast przewijać, możesz poruszać się za pomocą przycisków w lewo i w prawo.
  3. Przyciski po lewej stronie umożliwiają przechodzenie do przodu i do tyłu.
  4. Domyślnie bufor jest automatycznie aktualizowany podczas przechodzenia. Jeśli nie, możesz użyć przycisku Odśwież, aby odświeżyć pamięć i zaktualizować jej zawartość.

Bufor pamięci

Bufor pamięci

  1. Po lewej stronie adres jest wyświetlany w formacie szesnastkowym.
  2. Pamięć jest też wyświetlana w formacie szesnastkowym, a każdy bajt jest oddzielony spacjami. Wybrany bajt jest podświetlony. Możesz kliknąć bajt lub poruszać się za pomocą klawiatury (w lewo, w prawo, w górę i w dół).
  3. Po prawej stronie znajduje się reprezentacja w formacie ASCII pamięci. Podświetlenie pokazuje wartość odpowiadającą wybranym bitom w bajcie. Podobnie jak w przypadku pamięci możesz kliknąć bajt lub poruszać się za pomocą klawiatury (w górę, w dół, w lewo i w prawo).

Inspektor wartości

Inspektor wartości

  1. Na górnym pasku narzędzi znajduje się przycisk umożliwiający przełączanie się między wielkim i małym endianem oraz otwierający ustawienia. Otwórz ustawienia, aby wybrać typy wartości, które mają być domyślnie wyświetlane w inspektorze. przycisk na pasku narzędzi
  2. Główna część zawiera wszystkie interpretacje wartości zgodnie z ustawieniami. Domyślnie wyświetlane są wszystkie.
  3. Kodowanie jest klikalne. Możesz przełączać się między formatami dec, hex i oct dla liczb całkowitych oraz sci i dec dla liczb zmiennoprzecinkowych. Przełącznik kodowania

Sprawdzanie pamięci

Razem sprawdźmy pamięć.

  1. Aby rozpocząć debugowanie, wykonaj te czynności.
  2. W polu Adres zmień adres na 0x00000027. adres
  3. Zwróć uwagę na reprezentację ASCIIinterpretację wartości. Wszystkie wartości są obecnie puste.
  4. Zwróć uwagę na niebieski przycisk Przejdź do adresu obok Pointer 32-bitPointer 64-bit. Możesz kliknąć adres, aby przejść do niego. Jeśli adresy są nieprawidłowe, przyciski są wyszarzone i nie można ich kliknąć. Przycisk „Przejdź do adresu”
  5. Aby przejrzeć kod, kliknij Wznów wykonywanie skryptu.Wznów wykonywanie skryptu
  6. Zwróć uwagę, że reprezentacja ASCII została zaktualizowana. Zostaną też zaktualizowane wszystkie interpretacje wartości. Zaktualizowano wszystkie interpretacje wartości
  7. Skonfigurujmy Inspektora wartości tak, aby wyświetlał tylko wartości zmiennopozycyjne. Kliknij przycisk Ustawienia i zaznacz tylko Liczba zmiennoprzecinkowa 32-bitowa oraz Liczba zmiennoprzecinkowa 64-bitowa.ustawień, aby dostosować inspektor wartości
  8. Zmieńmy kodowanie z dec na sci. Zwróć uwagę, że reprezentacje wartości są odpowiednio aktualizowane. Zmień kodowanie.
  9. Spróbuj poruszać się po buforze pamięci za pomocą klawiatury lub paska nawigacyjnego. Powtórz krok 4, aby obserwować zmiany wartości.

Inspekcja pamięci WebAssembly

Obiekt WebAssembly.Memory to obiekt ArrayBuffer zawierający surowe bajty pamięci obiektu. Panel Narzędzie do inspekcji pamięci umożliwia sprawdzanie takich obiektów w aplikacjach Wasm napisanych w C++.

Aby w pełni korzystać z funkcji WebAssembly.Memory:

  • Użyj Chrome w wersji 107 lub nowszej. Sprawdź swoją wersję na stronie chrome://version/.
  • Zainstaluj rozszerzenie C/C++ DevTools Support (DWARF). To wtyczka do debugowania aplikacji WebAssembly w C/C++ za pomocą informacji debugowania DWARF.

Aby sprawdzić WebAssembly.Memory obiektu:

  1. Otwórz Narzędzia deweloperskie na tej stronie demonstracyjnej.
  2. W panelu Źródła otwórz demo-cpp.ccustaw punkt przerwania w funkcji main() w wierszu 15: x[i] = n - i - 1;.
  3. Aby uruchomić aplikację, odśwież stronę. Debuger wstrzymuje się w punkcie przerwania.
  4. W panelu Debugger rozwiń Zakres > Lokalnie.
  5. Kliknij ikonę Pokaż w Narzędzie do inspekcji pamięci. obok tablicy x: int[10].

    Możesz też kliknąć tablicę prawym przyciskiem myszy i wybrać Pokaż w panelu Menedżer pamięci.

Tablica x otwarta w narzędziu Memory Inspector.

Aby przestać wyróżniać pamięć obiektu, w panelu Wykrywacz pamięci najedź kursorem na plakietkę obiektu i kliknij przycisk x.

Zatrzymanie wyróżniania pamięci obiektu.

Więcej informacji znajdziesz w tych artykułach: