ph (шаг к следующей ветвления инструкции)
Команда ph выполняет программу до тех пор, пока не будет достигнута любая инструкция ветвления, включая условные или безусловные ветви, вызовы, возвраты и системные вызовы.
Режим пользователя
[~Thread] ph [r] [= StartAddress] [Count]
Режим ядра
ph [r] [= StartAddress] [Count]
Параметры
Нить
Указывает потоки для продолжения выполнения. Все остальные потоки заморожены. Дополнительные сведения о синтаксисе см. в разделе "Синтаксис потока". Потоки можно указать только в пользовательском режиме.
r
Включает и отключает отображение регистров и флагов. По умолчанию отображаются регистры и флаги. Вы можете отключить отображение регистрации с помощью команд phr, pr, tr или .prompt_allow -reg. Все эти команды управляют тем же параметром, и вы можете использовать любой из них для переопределения любого предыдущего использования этих команд.
Вы также можете отключить отображение регистрации с помощью команды l-os. Этот параметр отличается от других трех команд. Чтобы управлять отображением регистров и флагов, используйте команду rm (Register Mask).
StartAddress
Указывает адрес, в котором начинается выполнение отладчика. В противном случае отладчик начинается с инструкции, на которую указывает указатель инструкции. Дополнительные сведения о синтаксисе см. в разделе "Синтаксис адреса и диапазон адресов".
Считать
Указывает количество ветвей инструкций, которые должны быть обнаружены для остановки этой команды. Значение по умолчанию равно единице.
Среда
Позиция | Description |
---|---|
Режимы | режим пользователя, режим ядра |
Целевые объекты | только динамическая отладка |
Платформы | all |
Дополнительная информация
Дополнительные сведения о связанных командах см. в разделе "Управление целевым объектом".
Замечания
Команда ph приводит к началу выполнения целевого объекта. Это выполнение продолжается до достижения инструкции ветвления или точки останова.
Если счетчик программы уже находится в инструкции ветвления, выполняется ветвление всей инструкции. После возврата этой инструкции ветвления выполнение продолжается до тех пор, пока не будет достигнута другая инструкция ветвления. Это выполнение, а не трассировка вызова является единственной разницей между ph и th (трассировка до следующей ветви инструкции).
В исходном режиме можно связать одну исходную строку с несколькими инструкциями по сборке. Команда ph не останавливается в инструкции ветвления, связанной с текущей исходной строкой.