Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Во время отладки в окне памяти отображается пространство памяти , используемое приложением.
Окна отладчика, такие как контрольные данные, авто, локальные параметры и диалоговое окно QuickWatch , отображают переменные, которые хранятся в определенных расположениях в памяти. В окне Memory показан общий обзор. Представление памяти удобно для изучения больших фрагментов данных (буферов или больших строк, например), которые не отображаются в других окнах.
Окно памяти не ограничивается отображением данных. Он отображает все в пространстве памяти, включая данные, код и случайные биты мусора в неназначаемой памяти.
Окно памяти недоступно для отладки скрипта или SQL. Эти языки не распознают концепцию памяти.
Открытие окна памяти
Как и другие окна отладчика, окна памяти доступны только во время сеанса отладки.
Это важно
Чтобы включить окна памяти, установите флажок «Включить отладку на уровне адресов» в разделе «Инструменты» (или «Отладка») > в разделе «Параметры» в разделе «Отладка».
Откройте окно памяти:
- Откройте панель параметровинструментов (или >), разверните раздел "Общие параметры>" > и установите флажок "Включить отладку на уровне адресов".
- Откройте диалоговое окно "Параметры инструментов" (или "Отладка"), разверните > раздел"Общие сведения"> и установите флажок "Включить отладку на уровне адресов".
Начните отладку, выбрав зеленую стрелку, нажав клавишу F5 или выбрав "Начать отладку>".
В разделе "Отладка> памятиWindows>" выберите память 1, память 2, память 3 или память 4. (Некоторые выпуски Visual Studio предлагают только одно окно памяти .)
Несколько окон позволяют одновременно поддерживать представления для разных областей в пространстве памяти.
Перемещайтесь по окну памяти
Адресное пространство компьютера большое, и вы можете легко потерять свое место, прокручивая в окне памяти.
Адреса с более высокой памятью отображаются в нижней части окна. Чтобы просмотреть более высокий адрес, прокрутите вниз. Чтобы просмотреть нижний адрес, прокрутите страницу вверх.
В большинстве случаев необходимо найти определенное расположение памяти.
Найдите расположение памяти
Вы можете мгновенно перейти к указанному адресу в окне памяти с помощью перетаскивания или введите адрес в поле "Адрес ". Поле "Адрес" принимает буквенно-цифровые адреса и выражения, которые оценивают адреса, например e.User.NonroamableId.
Чтобы принудительно обновить выражение в поле Адрес, выберите значок Автоматической переоценки с округленной стрелкой.
По умолчанию окно памяти обрабатывает выражения адрес как динамические выражения, которые пересчитываются во время выполнения приложения. Живые выражения могут быть полезны, например, для просмотра памяти, к которой обращается переменная-указатель.
Используйте перетаскивание, чтобы переместить в область памяти:
В любом окне отладчика выберите адрес памяти или переменную указателя, содержащую адрес памяти.
Перетащите адрес или указатель в окне памяти .
Этот адрес отображается в поле "Адрес ", а окно памяти настраивается для отображения этого адреса в верхней части экрана.
Введите адрес в поле "Адрес", чтобы переместиться к адресу памяти.
Введите или вставьте адрес или выражение в поле "Адрес " и нажмите клавишу ВВОД или выберите его в раскрывающемся списке в поле "Адрес ".
Этот адрес отображается в поле "Адрес ", а окно памяти настраивается для отображения этого адреса в верхней части экрана.
Настройка окна памяти
По умолчанию содержимое памяти отображается как 1-байтовые целые числа в шестнадцатеричном формате, а ширина окна определяет количество отображаемых столбцов. Вы можете настроить способ показа содержимого памяти в окне памяти.
Измените формат содержимого памяти:
- Щелкните правой кнопкой мыши окно памяти и выберите нужные форматы в контекстном меню.
Измените количество столбцов в окне памяти:
- Щелкните стрелку раскрывающегося списка рядом с полем "Столбцы " и выберите число отображаемых столбцов или выберите "Авто " для автоматической корректировки на основе ширины окна.
Если вы не хотите, чтобы содержимое окна памяти изменилось при запуске приложения, вы можете отключить оценку динамических выражений.
Переключение живой оценки:
Щелкните правой кнопкой мыши в окне памяти и выберите Переоценивать автоматически в контекстном меню.
Замечание
Оценка живого выражения переключается и включена по умолчанию, поэтому, выбрав "Переоценка автоматически", вы отключаете её. При повторном выборе Автоматическая переоценка оно снова включается.
Вы можете скрыть или отобразить панель инструментов в верхней части окна памяти . Если панель инструментов скрыта, вы не можете получить доступ к полю адреса или другим средствам.
Переключите экран панели инструментов:
- Щелкните правой кнопкой мыши окно "Память" и выберите "Показать панель инструментов " в контекстном меню. Панель инструментов отображается или исчезает в зависимости от предыдущего состояния.
Следуйте указателю через память (C/C++)
В приложениях машинного кода можно использовать имена регистров в виде динамических выражений. Например, можно использовать указатель стека для отслеживания стека.
Проследите за перемещением указателя в памяти.
В поле "Адрес" окна памяти введите выражение указателя, которое находится в текущей области видимости. В зависимости от языка может потребоваться разыменовать его.
Нажмите клавишу ВВОД.
При использовании команды отладки, такой как Шаг, адрес памяти, отображаемый в поле "Адрес ", а в верхней части окна памяти автоматически изменяется при изменении указателя.
Просмотр указателей памяти (.NET)
Если вы хотите просмотреть содержимое объекта .NET на основе указателя памяти, например адреса, полученного из моментального снимка кучи, это можно сделать с помощью {CLR}@Address нотации. Адрес должен быть указателем на память, например 0x1D102A581B0. Введите указатель памяти, используя нотацию {CLR}@Address в поле Адрес окна памяти. Кроме того, можно использовать ту же нотацию для добавления часов с помощью окна "Контроль".
Чтобы получить адрес указателя памяти из моментального снимка кучи, откройте дамп кучи, выберите Отладить управляемую память, что откроет средство Использование памяти. Щелкните правой кнопкой мыши интересующий объект и выберите "Просмотреть экземпляры".