共用方式為


IDebugClient5::AttachProcess 方法 (dbgeng.h)

AttachProcess 方法會將 調試程式引擎 連接到使用者模式處理器。

語法

HRESULT AttachProcess(
  [in] ULONG64 Server,
  [in] ULONG   ProcessId,
  [in] ULONG   AttachFlags
);

參數

[in] Server

指定要用來附加至進程的進程伺服器。 如果 伺服器 為零,引擎會連線到本機進程,而不使用進程伺服器。

[in] ProcessId

指定調試程式將附加的目標進程進程標識碼。

[in] AttachFlags

指定旗標,控制調試程式如何附加至目標進程。 如需這些旗標的詳細資訊,請參閱。

傳回值

這個方法也可能傳回錯誤值。 如需詳細資訊,請參閱 傳回值

傳回碼 描述
S_OK
方法成功。

言論

這個方法僅適用於即時使用者模式偵錯。

注意 引擎不會完全附加至進程,直到呼叫 WaitForEvent 方法為止。 只有在進程產生事件之後,才可在調試程式會話中使用 ,例如 create-process 事件。
 
如需建立及附加至即時使用者模式目標的詳細資訊,請參閱 Live User-Mode Targets

DEBUG_ATTACH_XXX 位旗標可控制 調試程式引擎 附加至使用者模式進程的方式。 如需附加至核心目標時所使用的DEBUG_ATTACH_XXX 選項,請參閱 AttachKernel

下表描述可能的旗標值。

不斷 描述
DEBUG_ATTACH_NONINVASIVE 不具侵入性地附加至目標。 如需非侵入性偵錯的詳細資訊,請參閱 非侵入式偵錯 (使用者模式)

如果已設定此旗標,則不得設定旗標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 在非侵入性附加時,請勿暫停目標的線程。

如果已設定此旗標,則也必須設定旗標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 (include Dbgeng.h)

另請參閱

.attach (附加至進程)

AbandonCurrentProcess

AttachKernel

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

TerminateCurrentProcess

調試程式引擎