Depuração de Kernel-Mode local
As Ferramentas de Depuração para Windows dão suporte à depuração de kernel local. Isso é depuração no modo kernel em um único computador. Em outras palavras, o depurador é executado no mesmo computador que está sendo depurado.
Configurando a depuração de Kernel-Mode local
Para obter informações sobre como configurar a depuração do modo kernel local, consulte Configurando a depuração de Kernel-Mode local de um único computador manualmente.
Iniciando a sessão de depuração
Usando WinDbg
Abra WinDbg como Administrador. No menu Arquivo , escolha Depuração do Kernel. Na caixa de diálogo Depuração do Kernel, abra a guia Local . Selecione OK.
Você também pode iniciar uma sessão com o WinDbg abrindo uma janela do Prompt de Comando como Administrador e inserindo o seguinte comando:
windbg -kl
Usando KD
Abra uma janela do Prompt de Comando como Administrador e insira o seguinte comando:
kd -kl
Comandos que não estão disponíveis
Nem todos os comandos estão disponíveis em uma sessão local de depuração de kernel. Normalmente, você não pode usar nenhum comando que faça com que o computador de destino pare, mesmo momentaneamente, porque não é possível retomar a operação.
Em particular, você não pode usar os seguintes comandos:
Comandos de execução, como g (Go), p (Step), t (Trace), wt (Trace and Watch Data), tb (Trace to Next Branch), gh (Go with Exception Handled)e gn (Go with Exception Not Handled)
Comandos de arquivo de desligamento e despejo, como .crash, .dump e .reboot
Comandos de ponto de interrupção, como bp, bu, ba, bc, bd, be e bl
Registrar comandos de exibição, como r e variações
Comandos de rastreamento de pilha, como k e variações
Se você estiver executando a depuração de kernel local com WinDbg, todos os comandos e botões de menu equivalentes também ficarão indisponíveis.
Comandos disponíveis
Todos os comandos de entrada e saída de memória estão disponíveis. Você pode ler livremente da memória do usuário e da memória do kernel. Você também pode gravar na memória. Certifique-se de não gravar na parte errada da memória do kernel, pois ela pode corromper estruturas de dados e frequentemente faz com que o computador pare de responder (ou seja, falha).
Dificuldades na execução da depuração de kernel local
A depuração de kernel local é uma operação muito delicada. Tenha cuidado para não corromper ou travar o sistema.
Um dos aspectos mais difíceis da depuração de kernel local é que o estado do computador está mudando constantemente. A memória é paginada dentro e fora, o processo ativo muda constantemente e os contextos de endereço virtual não permanecem constantes. No entanto, nessas condições, você pode analisar efetivamente coisas que mudam lentamente, como determinados estados de dispositivo.
Os drivers do modo kernel e o sistema operacional Windows frequentemente enviam mensagens para o depurador de kernel usando dbgPrint e funções relacionadas. Essas mensagens não são exibidas automaticamente durante a depuração do kernel local. Você pode exibi-los usando a extensão !dbgprint .
LiveKD
A ferramenta LiveKD simula a depuração de kernel local. Essa ferramenta cria um arquivo de despejo "instantâneo" da memória do kernel, sem realmente parar o kernel enquanto esse instantâneo é feito. (Portanto, o instantâneo pode não mostrar um único estado instantâneo do computador.)
O LiveKD não faz parte do pacote Ferramentas de Depuração para Windows. Você pode baixar o LiveKd do site do Windows Sysinternals.