(dbgeng.h) IDebugClient::AttachProcess 方法
AttachProcess 方法會將調試程式引擎連接到使用者模式進程。
語法
HRESULT AttachProcess(
[in] ULONG64 Server,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
參數
[in] Server
指定要用來附加至進程的進程伺服器。 如果 Server 為零,引擎將會連線到本機進程,而不使用進程伺服器。
[in] ProcessId
指定調試程式將附加的目標進程進程標識號。
[in] AttachFlags
指定旗標,控制調試程式如何附加至目標進程。 如需這些旗標的詳細資訊,請參閱。
傳回值
這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值 。
傳回碼 | 描述 |
---|---|
|
此方法成功。 |
備註
這個方法僅適用於即時使用者模式偵錯。
注意 在呼叫 WaitForEvent 方法之前,引擎不會完全附加至進程。 只有在進程產生事件之後,才會在調試程式會話中使用它,例如 create-process 事件 。
DEBUG_ATTACH_XXX 位旗標可控制 調試程式引擎 如何附加至使用者模式進程。 如需附加至核心目標時所使用的DEBUG_ATTACH_XXX 選項,請參閱 AttachKernel。
下表描述可能的旗標值。
常數 | 描述 |
---|---|
DEBUG_ATTACH_NONINVASIVE |
以非vasively 附加至目標。 如需非vasive 偵錯的詳細資訊,請參閱 非vavasive 偵錯 (使用者模式) 。
如果設定此旗標,則不得設定旗標DEBUG_ATTACH_EXISTING、DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK和DEBUG_ATTACH_INVASIVE_RESUME_PROCESS。 |
DEBUG_ATTACH_EXISTING |
重新附加至調試程式已附加 (且可能放棄) 的應用程式。 如需重新附加至目標的詳細資訊,請參閱 重新附加至目標應用程式。
如果設定此旗標,則不得設定其他DEBUG_ATTACH_XXX 旗標。 |
DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND |
在附加非vasively 時,請勿暫停目標的線程。
如果設定此旗標,則也必須設定旗標DEBUG_ATTACH_NONINVASIVE。 |
DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK |
(Windows XP 和更新版本) 不要在附加至目標時要求初始中斷。
如果設定此旗標,則不得設定旗標DEBUG_ATTACH_NONINVASIVE和DEBUG_ATTACH_EXISTING。 |
DEBUG_ATTACH_INVASIVE_RESUME_PROCESS | 如果設定此旗標,則不得設定旗標DEBUG_ATTACH_NONINVASIVE和DEBUG_ATTACH_EXISTING。 |
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | dbgeng.h (包含 Dbgeng.h) |