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


IDebugEngineLaunch2::LaunchSuspended

Этот метод запускает процесс с помощью обработчика отладки (DE).

Синтаксис

int LaunchSuspended(
   string               pszServer,
   IDebugPort2          pPort,
   string               pszExe,
   string               pszArgs,
   string               pszDir,
   string               bstrEnv,
   string               pszOptions,
   enum_LAUNCH_FLAGS    dwLaunchFlags,
   uint                 hStdInput,
   uint                 hStdOutput,
   uint                 hStdError,
   IDebugEventCallback2 pCallback,
   out IDebugProcess2   ppProcess
);

Параметры

pszMachine
[in] Имя компьютера, в котором необходимо запустить процесс. Используйте значение NULL, чтобы указать локальный компьютер.

pPort
[in] Интерфейс IDebugPort2 , представляющий порт, в который будет выполняться программа.

pszExe
[in] Имя запускаемого исполняемого файла.

pszArgs
[in] Аргументы для передачи исполняемому файлу. Может быть пустым значением, если аргументов нет.

pszDir
[in] Имя рабочего каталога, используемого исполняемым файлом. Может быть значением NULL, если рабочий каталог не требуется.

bstrEnv
[in] Блок среды строк, завершаемых null, за которым следует дополнительный терминатор NULL.

pszOptions
[in] Параметры исполняемого файла.

dwLaunchFlags
[in] Указывает LAUNCH_FLAGS для сеанса.

hStdInput
[in] Обработка альтернативного входного потока. Может иметь значение 0, если перенаправление не требуется.

hStdOutput
[in] Обработка альтернативного выходного потока. Может иметь значение 0, если перенаправление не требуется.

hStdError
[in] Обработка альтернативного потока вывода ошибок. Может иметь значение 0, если перенаправление не требуется.

pCallback
[in] Объект IDebugEventCallback2 , получающий события отладчика.

ppDebugProcess
[out] Возвращает полученный объект IDebugProcess2 , представляющий запущенный процесс.

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

В случае успешного выполнения возвращается S_OK; в противном случае возвращается код ошибки.

Замечания

Как правило, Visual Studio запускает программу с помощью метода LaunchSuspended , а затем присоединяет отладчик к приостановленной программе. Однако существуют обстоятельства, в которых обработчик отладки может потребоваться запустить программу (например, если подсистема отладки является частью интерпретатора, а отлаживаемая программа является интерпретируемым языком), в этом случае Visual Studio использует IDebugEngineLaunch2::LaunchSuspended метод.

Метод ResumeProcess вызывается для запуска процесса после успешного запуска процесса в приостановленном состоянии.

См. также