Поделиться через


pa (шаг до адреса)

Команда pa выполняет программу до достижения указанного адреса, отображая каждый шаг.

User-Mode

[~Thread] pa [r] [= StartAddress] StopAddress ["Command"]

Kernel-Mode

pa [r] [= StartAddress] StopAddress ["Command"]

Параметры

Поток
Указывает потоки для продолжения выполнения. Все остальные потоки заморожены. Дополнительные сведения о синтаксисе см. в разделе Синтаксис потока. Потоки можно указать только в пользовательском режиме.

R
Включает и отключает отображение регистров и флагов. По умолчанию отображаются регистры и флаги. Вы можете отключить отображение регистрации с помощью команд par, pr, tr или .prompt_allow -reg. Все эти команды управляют одинаковым параметром, и вы можете использовать любую из них, чтобы переопределить любое предыдущее использование этих команд.

Вы также можете отключить отображение регистрации с помощью команды l-os. Этот параметр отличается от трех других команд. Чтобы указать, какие регистры и флаги будут отображаться, используйте команду rm (маска регистрации).

StartAddress
Указывает адрес, с которого начинается выполнение отладчика. В противном случае отладчик начинается с инструкции, на которую указывает указатель инструкции. Дополнительные сведения о синтаксисе см. в разделе Синтаксис адреса и диапазона адресов.

StopAddress
Указывает адрес, на котором будет прекращено выполнение. Этот адрес должен совпадать с точным адресом инструкции.

Команды
Указывает команду отладчика, выполняемую после выполнения шага. Эта команда выполняется перед отображением стандартных результатов pa . Если вы также используете StopAddress, указанная команда выполняется после достижения StopAddress (но до отображения результатов последнего шага).

Среда

Элемент Описание
Режимы пользовательский режим, режим ядра
Цели Только динамическая отладка
Платформы все

Дополнительные сведения

Дополнительные сведения о связанных командах см. в разделе Управление целевым объектом.

Комментарии

Команда pa приводит к началу выполнения целевого объекта. Это выполнение продолжается до тех пор, пока не будет достигнута указанная инструкция или не будет обнаружена точка останова.

Примечание Если вы используете эту команду в режиме ядра, выполнение останавливается при обнаружении инструкции по указанному виртуальному адресу в любом виртуальном адресном пространстве.

Во время этого выполнения все шаги отображаются явным образом. Вызываемые функции обрабатываются как единое целое. Таким образом, отображение этой команды похоже на то, что отображается при многократном выполнении p (шаг) до тех пор, пока счетчик программы не достигнет указанного адреса.

Например, следующая команда явным образом выполняет шаги по целевому коду, пока не будет достигнут обратный адрес текущей функции.

0:000> pa @$ra 

В следующем примере показано использование команды pa вместе с командой kb для отображения трассировки стека:

0:000> pa 70b5d2f1 "kb"