.kill (Kill Process)
No modo de usuário, o comando .kill finaliza um processo que está sendo depurado.
No modo kernel, o comando .kill encerra um processo no computador de destino.
Sintaxe do modo de usuário
.kill [ /h | /n ]
Sintaxe do modo kernel
.kill Process
Parâmetros
/h
(Somente no modo de usuário) Qualquer evento de depuração pendente será continuado e marcado como manipulado. Esse é o padrão.
/n
(Somente no modo de usuário) Qualquer evento de depuração pendente será continuado sem ser marcado como manipulado.
Processo
Especifica o endereço do processo que será encerrado. Se Process for omitido ou zero, o processo padrão para o estado atual do sistema será encerrado.
Ambiente
No modo kernel, este comando tem suporte no Microsoft Windows Server 2003 e versões posteriores do Windows.
Modos |
modo de usuário, modo kernel |
Destinos |
somente depuração ao vivo |
Plataformas |
all |
Comentários
No modo de usuário, este comando finaliza um processo que está sendo depurado. Se o depurador estiver anexado a um processo filho, você poderá usar .kill para encerrar o processo filho sem finalizar o processo pai. Para obter mais informações, consulte Exemplos.
No modo kernel, este comando agenda o processo selecionado no computador de destino para encerramento. Na próxima vez que o destino puder ser executado (por exemplo, com um comando g (Go), o processo especificado será encerrado.
Não é possível usar este comando na depuração do kernel local.
Exemplos
Como usar .childdbg
Suponha que você anexe um depurador ao processo pai (Parent.exe) antes de ele criar um processo filho. Você pode inserir o comando .childdbg 1 para solicitar ao depurador que anexe a qualquer processo filho criado pelo pai.
1:001> .childdbg 1
Processes created by the current process will be debugged
Agora, deixe o processo pai ser executado e invada depois de criar o processo filho. Use o comando | (Process Status) para ver os números de processo dos processos pai e filho.
0:002> |*
. 0 id: 7f8 attach name: C:\Parent\x64\Debug\Parent.exe
1 id: 2d4 child name: notepad.exe
Na saída anterior, o número do processo filho (notepad.exe) é 1. O ponto (.) no início da primeira linha informa que o processo pai é o processo atual. Para que o filho processe o processo atual, digite |1s.
0:002> |1s
...
1:001> |*
# 0 id: 7f8 attach name: C:\Parent\x64\Debug\Parent.exe
. 1 id: 2d4 child name: notepad.exe
Para interromper o processo filho, digite o comando .kill. O processo pai continua sendo executado.
1:001> .kill
Terminated. Exit thread and process events will occur.
1:001> g
Como usar o parâmetro -o
Quando inicia o WinDbg ou CDB, você pode usar o parâmetro -o para dizer ao depurador que ele deve anexar a processos filho. Por exemplo, o comando seguinte inicia o WinDbg, que inicia e anexa ao Parent.exe. Quando Parent.exe cria um processo filho, o WinDbg anexa ao processo filho.
windbg -g -G -o Parent.exe
Para obter mais informações, consulte Opções de linha de comando WinDbg e Opções de linha de comando CDB.
Requisitos
Versão |
Versões:(Modo kernel) Com suporte no Windows Server 2003 e versões posteriores. |