Проверка массива JavaScriptBuffer с помощью инспектора памяти
Используйте инспектор памяти для просмотра объектов следующих типов и взаимодействия с ними:
С помощью инспектора памяти можно просматривать различные типы объектов памяти, перемещаться и выбирать типы, которые будут использоваться для интерпретации значений. Он отображает значения ASCII непосредственно рядом с байтами и позволяет выбрать различные значения эндианности.
Средство "Инспектор памяти " предоставляет больше возможностей, чем средство "Источники" , для проверки ArrayBuffers
при отладке. В представлении Область в инструменте Источники отображается список отдельных значений в буфере массива, что затрудняет просмотр всех данных. Кроме того, переход к определенному диапазону в буфере требует прокрутки до определенного индекса, и значения всегда отображаются в виде одного байта, даже если вы хотите видеть их в другом формате, например 32-разрядных целых чисел.
Открытие инспектора памяти во время отладки
Запустите Microsoft Edge.
Откройте тестовый сайт Проверка arrayBuffers в JS (память в JS).
Откройте devTools, нажав клавишу F12 или CTRL+SHIFT+I (Windows, Linux) или COMMAND+OPTION+I (macOS).
Щелкните Источники и откройте
demo-js.js
файл.Установите точку останова в строке 18 , как показано на следующем рисунке.
Обновите веб-страницу. Он не отображается, так как JavaScript приостанавливается в точке останова.
На правой панели Отладчик в разделе Область найдите
buffer
строку.В строке
buffer
можно открыть инспектор памяти одним из следующих методов:Щелкните значок Показать в панели инспектора памяти () в конце
buffer
строки свойства илиИз контекстного меню. Щелкните правой
buffer
кнопкой мыши свойство и выберите Показать на панели инспектора памяти.
Массив JavaScript Откроется в инспекторе памяти.
Проверка нескольких объектов
Можно одновременно проверять несколько объектов, таких как DataView и TypedArray.
Когда демонстрационная веб-страница приостановлена в точке останова, объект b2
в представлении Область представляет собой TypedArray. Щелкните правой b2
кнопкой мыши объект и выберите Показать на панели инспектора памяти.
Рядом с первой вкладкой b2
откроется новая вкладка для объекта , представляющая объект в инспекторе buffer
памяти.
Навигация в инспекторе памяти
Панель "Инспектор памяти" включает три типа содержимого:
Панель навигации
В текстовом поле Ввод адреса отображается текущий байтовый адрес в шестнадцатеричном формате. Значение можно изменить, чтобы перейти к новому расположению в буфере памяти. Щелкните текстовое поле и измените значение на 0x00000008
. Буфер памяти немедленно переходит на этот байтовый адрес.
Буферы памяти могут быть длиннее одной страницы. Используйте кнопки со стрелками влево и вправо для перехода на предыдущую страницу (<) и следующую страницу (>) соответственно. Если имеется только одна страница данных буфера памяти, стрелки перенастрачиваются в начало и конец страницы.
Используйте стрелки журнала влево, чтобы Назад в журнале адресов () и Перейти вперед в журнале адресов ().
Если буфер памяти не обновляется автоматически при пошаговом выполнении значений, нажмите кнопку Обновить ().
Буфер памяти
С левой стороны панели адрес отображается в шестнадцатеричном формате. Текущий выбранный адрес выделен полужирным шрифтом.
Память также отображается в шестнадцатеричном формате, каждый байт разделен пробелом. Выделенный в данный момент байт выделен. Вы можете щелкнуть любой байт или перемещаться с помощью клавиш со стрелками (влево, вправо, вверх и вниз).
В правой части панели отображается представление ASCII памяти. Выделенный символ соответствует выбранному байту. Вы можете щелкнуть любой символ или перейти с помощью клавиш со стрелками (влево, вправо, вверх и вниз).
Инспектор значений
Щелкните текущий тип Endian, чтобы переключиться между big endian и Little endian.
В области main отображаются каждое значение и интерпретация на основе параметров. По умолчанию отображаются все значения.
Щелкните Переключить параметры типа значений (), чтобы выбрать типы значений, которые должны отображаться в инспекторе. Это становится новым параметром типа значения по умолчанию.
Представление кодирования можно изменить с помощью раскрывающегося списка. Для целых чисел можно выбрать десятичные dec
, шестнадцатеричные hex
и восьмеричные oct
. Для с плавающей запятой можно выбрать между десятичной нотацией dec
и научной нотацией sci
.
Проверка памяти
Выполните следующие действия, чтобы отладить веб-страницу в инспекторе памяти.
На панели навигации измените адрес на
0x00000027
.Просмотрите представление ASCII и интерпретации значений. Все значения должны быть пустыми или нулевыми.
Нажмите кнопку Возобновить выполнение скрипта () или нажмите клавишу F8 или CTRL +\ для пошагового выполнения кода.
Обновлены представление ASCII и интерпретации значений.
Нажмите кнопку Перейти к адресу () для 32-разрядного или64-разрядного указателя , чтобы перейти к следующему активному адресу памяти. Если следующий адрес памяти недоступен, кнопка отключается () с подсказкой Адрес из диапазона памяти.
Настройте инспектор значений так, чтобы он отображал только значения с плавающей запятой. Щелкните Переключить параметры типа значения () и снимите все флажки, кроме двух значений с плавающей запятой .
Щелкните Переключить параметры типа значений ( цветом), чтобы закрыть параметры типа значений.
Используйте раскрывающийся список, чтобы изменить кодировку с
dec
наsci
. Представления значений обновляются.Изучите буфер памяти с помощью клавиатуры или панели навигации.
Повторите шаги 3 и 4 , чтобы наблюдать за изменениями значений.
Проверка памяти WebAssembly
При проверке памяти WebAssembly (Wasm) процесс аналогичен проверке памяти JavaScript.
Откройте тестовый сайт Wasm Проверка памяти Wasm (память в Wasm).
Откройте devTools, нажав клавишу F12 или CTRL+SHIFT+I (Windows, Linux) или COMMAND+OPTION+I (macOS).
Щелкните Источники и откройте
memory-write.wasm
файл.Установите точку останова в первой строке цикла, шестнадцатеричное значение 0x03c.
Обновите страницу.
В области отладчика в разделе Область разверните модуль.
В конце строки свойства щелкните значок Показать в панели инспектора памяти (
$imports.memory
памяти).Wasm ArrayBuffer откроется в инспекторе памяти.
Примечание.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой Google и используемой в соответствии с условиями, описанными в международной лицензии Creative Commons Attribution 4.0. Исходная страница находится здесь и создана Kim-Anh Tran.
Эта работа лицензируется по международной лицензии Creative Commons Attribution 4.0.