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


Метод IDebugControl3::Execute (dbgeng.h)

Метод Execute выполняет указанные команды отладчика.

Синтаксис

HRESULT Execute(
  [in] ULONG OutputControl,
  [in] PCSTR Command,
  [in] ULONG Flags
);

Параметры

[in] OutputControl

Указывает элемент управления выходными данными, используемый при выполнении команды. Возможные значения см. в разделе DEBUG_OUTCTL_XXX. Дополнительные сведения о выходных данных см. в разделе Входные и выходные данные.

[in] Command

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

[in] Flags

Задает битовое поле параметров выполнения для команды. По умолчанию команда записывается в журнал, но не отправляется в выходные данные. В следующей таблице перечислены биты, которые можно задать.

Значение Описание
DEBUG_EXECUTE_ECHO Командная строка отправляется в выходные данные.
DEBUG_EXECUTE_NOT_LOGGED Командная строка не записывается в журнал. Это переопределяется DEBUG_EXECUTE_ECHO.
DEBUG_EXECUTE_NO_REPEAT Если Command является пустой строкой, не повторяйте последнюю команду и не сохраняйте текущую командную строку для последующего выполнения.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.

Комментарии

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

Примечание Важно понимать, что означает выполнение команды шага. Команда step инициирует пошаговое действие, но не ожидает завершения пошагового выполнения. Например, предположим, что вы вызываете IDebugControl::Execute и передаете командную строку, содержащую одну команду pct. Команда pct инициирует шаг к следующему вызову или возврату инструкции, но pct завершает его выполнение до выполнения пошагового выполнения. Следовательно, IDebugControl::Execute возвращается перед выполнением пошагового выполнения. Команды trace и go ведут себя аналогичным образом. Примеры команд с таким поведением включают g, gh, ta, tb, tct, pa и pc.
 

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)

См. также раздел

ExecuteCommandFile

IDebugControl

IDebugControl2

IDebugControl3