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


Метод IDebugClient::CreateProcessAndAttach (dbgeng.h)

Метод CreateProcessAndAttach создает процесс из указанной командной строки, а затем подключается к другому процессу пользовательского режима. Созданный процесс приостановлен и разрешен только при завершении подключения. Это позволяет грубо выполнять синхронизацию при отладке как клиентских, так и серверных процессов.

Синтаксис

HRESULT CreateProcessAndAttach(
  [in]           ULONG64 Server,
  [in, optional] PSTR    CommandLine,
  [in]           ULONG   CreateFlags,
  [in]           ULONG   ProcessId,
  [in]           ULONG   AttachFlags
);

Параметры

[in] Server

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

[in, optional] CommandLine

Указывает командную строку для создания нового процесса. Если CommandLinenull, то процесс не создается и эти методы присоединяться к существующему процессу, так как AttachProcess.

[in] CreateFlags

Задает флаги, используемые при создании процесса. Дополнительные сведения об этих флагах см. в DEBUG_CREATE_PROCESS_OPTIONS.CreateFlags.

[in] ProcessId

Указывает идентификатор процесса целевого процесса, к которому будет присоединен отладчик. Если ProcessId равно нулю, отладчик присоединится к процессу, созданному из CommandLine.

[in] AttachFlags

Указывает флаги, управляющие присоединением отладчика к целевому процессу. Дополнительные сведения об этих флагах см. в DEBUG_ATTACH_XXX.

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

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

Возвращаемый код Описание
S_OK
Метод был успешным.

Замечания

Этот метод доступен только для динамической отладки в режиме пользователя.

Если CommandLine не NULL и ProcessId не равно нулю, подсистема создаст процесс в приостановленном состоянии. Модуль возобновляет созданный процесс после успешного подключения к процессу, указанному в ProcessId.

Примечание Подсистема не полностью присоединяется к процессу до вызова метода WaitForEvent. Только после создания события , например, события создания процесса становятся доступными в сеансе отладчика.
 
Дополнительные сведения о создании и присоединении к целевым объектам в реальном режиме пользователя см. в разделе Целевые объекты live User-Mode.

Требования

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

См. также

.attach (Attach to Process)

.create (Create Process)

abandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess