Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для доступа к адресам памяти или диапазонам адресов можно использовать несколько команд. Visual Studio и WinDbg предоставляют элементы пользовательского интерфейса (а также команды), которые можно использовать для просмотра и редактирования памяти. Дополнительные сведения см. в разделе "Просмотр и редактирование памяти" в WinDbg (классическая модель).
Следующие команды могут считывать или записывать память в различных форматах. Эти форматы включают шестнадцатеричные байты, слова (слова, двойные слова и четыре слова), целые числа (короткие, длинные и квадратные целые числа и целые числа без знака), числа с плавающей запятой (10-байт, 16-байт, 32-байт и 64-байтовые реальные числа) и символы ASCII.
Команда d* (отображаемая память) отображает содержимое указанного адреса или диапазона памяти.
Команда e* (ВВОД значений) записывает значение в указанный адрес памяти.
Для обработки более специализированных типов данных можно использовать следующие команды:
Команда dt (тип отображения) находит различные типы данных и отображает структуры данных, созданные приложением, которое выполняется отладка. Эта команда является очень универсальной и имеет множество вариантов и параметров.
Команда ds, dS (Display String) отображает структуру данных STRING, ANSI_STRING или UNICODE_STRING данных.
Трассировки команд dl (отображаемый связанный список) и отображает связанный список.
Команда d*s (отображаемые слова и символы) находит двойные слова или четыре слова, которые могут содержать сведения о символах, а затем отображают данные и сведения о символах.
Команда расширения !address отображает сведения о свойствах памяти, расположенной по конкретному адресу.
Для управления диапазонами памяти можно использовать следующие команды:
Команда m (Move Memory) перемещает содержимое одного диапазона памяти в другой.
Команда f (Fill Memory) записывает шаблон в диапазон памяти, повторяя его до тех пор, пока диапазон не будет заполнен.
Команда c (Compare Memory) сравнивает содержимое двух диапазонов памяти.
Команда s (Search Memory) ищет указанный шаблон в диапазоне памяти или ищет все символы ASCII или Юникода, которые существуют в диапазоне памяти.
Команда .holdmem (удержание и сравнение памяти) сравнивает один диапазон памяти с другим.
В большинстве случаев эти команды интерпретируют свои параметры в текущем радиксе. Поэтому следует добавить 0x перед шестнадцатеричными адресами, если текущий радикс не равен 16. Однако выходные данные этих команд обычно отображаются в шестнадцатеричном формате независимо от текущего радикса. (Дополнительные сведения о выходных данных см. в отдельных разделах команд.) В окне памяти отображаются целые числа и реальные числа в десятичном формате и отображаются другие форматы в шестнадцатеричном формате.
Чтобы изменить радикс по умолчанию, используйте команду n (Set Number Base). Чтобы быстро преобразовать числа из одной системы счисления в другую, используйте команду ? (Вычислить выражение) или команду .форматов (Показать форматы чисел).
При отладке в пользовательском режиме значение виртуальных адресов определяется текущим процессом. При отладке в режиме ядра значение виртуальных адресов можно контролировать отладчиком. Дополнительные сведения см. в разделе "Контекст процесса".