.attach (附加至進程)

.attach命令會附加至新的目標應用程式。

.attach [-premote RemoteOptions] AttachOptions PID

參數

RemoteOptions
指定要附加至的進程伺服器。 這些選項與命令列 預先 設定選項的選項相同。 如需語法詳細資料 ,請參閱啟用 Smart Client

AttachOptions
指定要如何完成附加。 這可以包含下列任一選項:

-B
防止偵錯工具在附加至目標進程時要求初始中斷。 如果應用程式已暫停,或您想要避免在目標中建立中斷線程,這非常有用。

-e
允許偵錯工具附加至已經偵錯的進程。 如需詳細資訊 ,請參閱重新附加至目標應用程式

-K
開始本機核心偵錯會話。 如需詳細資訊,請參閱 執行本機核心偵錯

-F
凍結所有目標應用程式中的所有線程,但附加至的新目標除外。 這些執行緒會維持凍結狀態,直到新附加的進程發生例外狀況為止。 請注意,初始中斷點會限定為例外狀況。 個別執行緒可以使用 ~u (Unfreeze Thread) 命令解除凍結。

-R

讓偵錯工具在附加至它時啟動執行的目標進程。 如果應用程式已暫停,而且您想要繼續執行,這非常有用。

-V
使指定的進程以非vasive 方式進行偵錯。

Pid
指定新目標應用程式的進程識別碼。

環境

項目 描述
模式 僅限使用者模式
目標 僅限即時偵錯
平台 all

備註

當 CDB 處於休眠狀態,或已經偵錯一或多個進程時,可以使用此命令。 當 WinDbg 處於休眠狀態時,就無法使用它。

如果此命令成功,偵錯工具會在下次偵錯工具發出執行命令時附加至指定的進程。 如果在資料列中使用此命令數次,就必須要求執行多次,就像使用此命令一樣多。

由於在非vasive 偵錯期間不允許執行,偵錯工具無法一次對多個進程進行非主動偵錯。 這也表示使用 .attach -v 命令可能會讓已經存在的偵錯會話變得較不實用。

除非某些執行緒已凍結或暫停,否則一律會一起執行多個目標進程。

如果您想要附加至新的進程並凍結所有現有的目標,請使用 -f 選項。 例如,您可能會在用戶端應用程式中偵錯當機,並想要附加至伺服器進程,而不需要讓用戶端應用程式繼續執行。

如果使用 -premote 選項,新進程將會是新系統的一部分。 如需詳細資訊,請參閱 偵錯多個目標