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


Метод 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 Если команда является пустой строкой, не повторяйте последнюю команду и не сохраняйте текущую строку команды для повторения позже.

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

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

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

Замечания

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

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

Требования

Требование Ценность
целевая платформа Рабочий стол
Заголовок dbgeng.h (include Dbgeng.h)

См. также

ExecuteCommandFile

IDebugControl

IDebugControl2

IDebugControl3