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


pa (шаг к адресу)

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

Режим пользователя

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

Режим ядра

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

Параметры

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

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

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

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

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

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

Среда

Позиция Description
Режимы режим пользователя, режим ядра
Целевые объекты только динамическая отладка
Платформы all

Дополнительная информация

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

Замечания

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

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

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

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

0:000> pa @$ra 

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

0:000> pa 70b5d2f1 "kb"