Используйте инспектор памяти для проверки памяти ArrayBuffer , TypedArray и DataView в JavaScript, а также WebAssembly.Memory приложений Wasm, написанных на C++.
Обзор
Инспектор памяти упорядочивает содержимое памяти и помогает быстро перемещаться по большим массивам. Вы можете просмотреть значения ASCII содержимого памяти непосредственно рядом с байтами и выбрать другой порядок байтов. Используйте инспектор памяти во время отладки веб-приложения, чтобы повысить эффективность рабочего процесса.
Откройте инспектор памяти
Открыть инспектор памяти можно несколькими способами.
Открыть из меню
- Откройте Инструменты разработчика .
-  Нажмите «Дополнительные параметры».  > Дополнительные инструменты > Инспектор памяти . > Дополнительные инструменты > Инспектор памяти . 
Открыть во время отладки
-  Откройте страницу с помощью JavaScript ArrayBuffer. Мы будем использовать эту демонстрационную страницу .
- Откройте Инструменты разработчика .
- Откройте файл demo-js.js на панели «Источники» , установите точку останова в строке 18.
- Обновите страницу.
- Разверните раздел «Область» на правой панели «Отладчик» .
- Вы можете открыть инспектор памяти : -  Из значка . Нажав на значок рядом со свойством buffer, или
-  Из контекстного меню . Щелкните правой кнопкой мыши свойство bufferи выберите «Показать на панели инспектора памяти» .
  
-  Из значка . Нажав на значок рядом со свойством 
Осмотрите несколько объектов
-  Вы также можете проверить DataView или TypedArray . Например, b2— этоTypedArray. Чтобы проверить это, щелкните правой кнопкой мыши свойствоb2и выберите «Показать на панели инспектора памяти» (значка дляTypedArrayилиDataViewпока нет).
-  В Инспекторе памяти откроется новая вкладка. Обратите внимание, что вы можете проверять несколько объектов одновременно.  
Инспектор памяти

Инспектор памяти состоит из 3 основных областей:
Панель навигации

-  Ввод адреса показывает текущий адрес байта в шестнадцатеричном формате. Вы можете ввести новое значение, чтобы перейти к новому месту в буфере памяти. Например, попробуйте ввести 0x00000008.
- Буферы памяти могут быть длиннее страницы. Вместо прокрутки вы можете использовать левую и правую кнопку для навигации.
- Кнопки слева позволяют осуществлять навигацию вперед/назад .
- По умолчанию буфер автоматически обновляется при шаге. В противном случае кнопка обновления дает вам возможность обновить память и обновить ее содержимое.
Буфер памяти

- Слева адрес отображается в шестнадцатеричном формате.
- Память также отображается в шестнадцатеричном формате, где каждый байт разделен пробелом. Текущий выбранный байт выделяется. Вы можете нажать на байт или перемещаться с помощью клавиатуры (влево, вправо, вверх, вниз).
- Представление памяти в формате ASCII показано справа. Подсветка показывает значение, соответствующее выбранным битам в байте. Как и в случае с памятью, вы можете нажимать на байт или перемещаться с помощью клавиатуры (влево, вправо, вверх, вниз).
Инспектор значений

-  На верхней панели инструментов имеется кнопка для переключения между прямым и прямым порядком байтов и открытия настроек . Откройте настройки , чтобы выбрать, какие типы значений они хотят видеть по умолчанию в инспекторе.  
- В основной области отображаются все интерпретации значений в соответствии с настройками . По умолчанию показаны все.
-  Кодировка кликабельна. Вы можете переключаться между dec, hex, Oct для целых чисел и sci, dec для чисел с плавающей запятой.  
Проверка памяти
Давайте вместе проверим память.
- Выполните следующие действия, чтобы начать отладку.
-  Измените адрес на 0x00000027во входном адресе . 
- Обратите внимание на представление ASCII и интерпретацию значений . На данный момент все значения пусты.
-  Обратите внимание на синюю кнопку Перейти к адресу рядом с Pointer 32-bitиPointer 64-bit. Вы можете нажать на нее, чтобы перейти по адресу. Кнопки неактивны и недоступны для нажатия, если адреса недействительны. 
-  Нажмите «Возобновить выполнение сценария» , чтобы выполнить код.  
-  Обратите внимание, что представление ASCII теперь обновлено. Все интерпретации значений также обновляются.  
-  Давайте настроим инспектор значений так, чтобы он отображал только числа с плавающей запятой . Нажмите на кнопку настроек и отметьте только Float 32-bit и Float 64-bit .  
-  Давайте изменим кодировку с decнаsci. Обратите внимание, что представления значений соответствующим образом обновляются. 
- Попробуйте перемещаться по буферу памяти с помощью клавиатуры или панели навигации. Повторите шаг 4, чтобы наблюдать изменения значений.
Проверка памяти WebAssembly
 Объект WebAssembly.Memory представляет собой ArrayBuffer , содержащий необработанные байты памяти объекта. Панель «Инспектор памяти» позволяет проверять такие объекты в приложениях Wasm, написанных на C++.
 Чтобы в полной мере воспользоваться преимуществами проверки WebAssembly.Memory :
-  Используйте Chrome 107 или более позднюю версию. Проверьте свою версию на chrome://version/.
- Установите расширение поддержки DevTools C/C++ (DWARF) . Это плагин для отладки приложений C/C++ WebAssembly с использованием отладочной информации DWARF.
 Чтобы проверить WebAssembly.Memory объекта:
- Откройте DevTools на этой демонстрационной странице .
-  На панели «Источники» откройте demo-cpp.ccи установите точку останова в функцииmain()в строке 15:x[i] = n - i - 1;.
- Перезагрузите страницу, чтобы запустить приложение. Отладчик приостанавливает работу в точке останова.
- На панели «Отладчик» разверните «Область» > «Локальный» .
- Нажмите кнопку  значок рядом с массивом значок рядом с массивом- x: int[10].- Либо щелкните массив правой кнопкой мыши и выберите «Показать на панели инспектора памяти» . 

 Чтобы прекратить выделение памяти объекта, на панели «Инспектор памяти» наведите указатель мыши на значок объекта и нажмите кнопку x . 

Чтобы узнать больше, см.:
 
 
        
        