共用方式為


.kill (Kill Process)

在使用者模式中,.kill 命令會結束正在偵錯的進程。

在核心模式中,.kill 命令會結束目標計算機上的進程。

使用者模式語法

.kill [ /h | /n ]

內核模式語法

.kill Process 

參數

/h
(僅限使用者模式)任何未處理的偵錯事件都會繼續,並標示為已處理。 這是預設值。

/n
(僅限使用者模式)任何未處理的偵錯事件都會繼續執行,而不會標示為已處理。

過程
指定要終止之進程的位址。 如果 省略 Process 或零,則會終止目前系統狀態的默認進程。

Environment

在核心模式中,Microsoft Windows Server 2003 和更新版本的 Windows 支援此命令。

模式

使用者模式、核心模式

目標

僅限即時偵錯

平台

全部

備註

在使用者模式中,此命令會結束正在偵錯的進程。 如果調試程式附加至子進程,您可以使用 .kill 結束子進程,而不結束父進程。 如需詳細資訊,請參閱範例。

在核心模式中,此命令會在目標計算機上排程選取的進程以終止。 下一次目標可以執行時(例如,使用 g (Go) 命令),指定的進程就會結束。

您無法在本機核心偵錯期間使用此命令。

範例

使用 .childdbg

假設您在建立子進程之前,先將調試程式附加至父進程(Parent.exe)。 您可以輸入 .childdbg 1 命令,告訴調試程式附加至父代所建立的任何子進程。

1:001> .childdbg 1
Processes created by the current process will be debugged

現在讓父進程執行,並在建立子進程之後中斷。 使用 |(進程狀態)命令以查看父進程和子進程的進程號碼。

0:002> |*
.  0    id: 7f8 attach  name: C:\Parent\x64\Debug\Parent.exe
   1    id: 2d4 child   name: notepad.exe

在上述輸出中,子進程 (notepad.exe) 的數目為 1。 第一行開頭的點 (.) 會告訴我們父進程是目前的進程。 若要讓子進程成為目前的進程,請輸入 |1s

0:002> |1s
...
1:001> |*
#  0    id: 7f8 attach  name: C:\Parent\x64\Debug\Parent.exe
.  1    id: 2d4 child   name: notepad.exe

若要終止子進程,請輸入 命令 .kill。 父進程會繼續執行。

1:001> .kill
Terminated.  Exit thread and process events will occur.
1:001> g

使用 -o 參數

當您啟動 WinDbg 或 CDB 時,可以使用 -o 參數告訴調試程式應該附加至子進程。 例如,下列命令會啟動 WinDbg,它會啟動並附加至 Parent.exe。 Parent.exe建立子進程時,WinDbg 會附加至子進程。

windbg -g -G -o Parent.exe

如需詳細資訊,請參閱 WinDbg 命令行選項CDB 命令行選項

需求

版本

Windows Server 2003 和更新版本中支援的版本:(核心模式)。