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


ta (трассировка по адресу)

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

User-Mode

[~Thread] ta [r] [= StartAddress] StopAddress 

Kernel-Mode

ta [r] [= StartAddress] StopAddress 

Параметры

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

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

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

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

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

Среда

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

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

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

Комментарии

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

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

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

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

0:000> ta @$ra