IDebugClient2::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
指定调试器将附加到的目标进程的进程 ID。 如果 ProcessId 为零,调试器将附加到从 CommandLine创建的进程。
[in] AttachFlags
指定控制调试器如何附加到目标进程的标志。 有关这些标志的详细信息,请参阅 DEBUG_ATTACH_XXX。
返回值
此方法也可能返回错误值。 有关详细信息,请参阅 返回值。
返回代码 | 描述 |
---|---|
|
该方法成功。 |
言论
此方法仅适用于实时用户模式调试。
如果 CommandLine 未 NULL,并且 ProcessId 不为零,则引擎将创建处于挂起状态的进程。 在引擎成功连接到 ProcessId中指定的进程后,该引擎将恢复此新创建的进程。
注意 在调用 WaitForEvent 方法之前,引擎不会完全附加到进程。 只有在进程生成事件(例如 create-process 事件)之后,它才会在调试器会话中可用。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |