Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como começar com a depuração do Windows usando o WinDbg e outras ferramentas de depuração. Você aprenderá como:
- Instalar o depurador e configurar o sistema anfitrião e sistema de destino
- Configura seu ambiente de depuração
- Domine técnicas essenciais de depuração para cenários de modo kernel e modo usuário
Observação
Se você quiser analisar um despejo de memória, consulte Extrair informações de um arquivo de despejo.
Para começar a depuração do Windows, conclua as etapas a seguir.
1. Instalar o depurador de Windows
Instale o WinDbg para iniciar a depuração de aplicativos e drivers do Windows. Para obter etapas detalhadas de instalação, consulte Instalar o WinDbg.
2. Identificar os sistemas de host e de destino
Normalmente, você usa dois sistemas de computador separados para depuração porque o processo normalmente pausa a execução de instruções no processador. O depurador é executado no sistema de host, e o código que você deseja depurar é executado no sistema de destino.
Host <--------------------------------------------------> Destino
Em algumas situações, você pode usar uma máquina virtual como o segundo sistema. Por exemplo, um computador virtual pode ser executado no mesmo computador que o código que você precisa depurar. No entanto, se seu código comunica com hardware de baixo nível, usar um computador virtual pode não ser a melhor abordagem. Para obter mais informações, consulte Como configurar a depuração de rede de uma máquina virtual - KDNET
3. Determinar o tipo de depurador: modo kernel ou modo de usuário
Em seguida, determine se deve usar a depuração no modo kernel ou no modo de usuário.
O sistema operacional e os programas privilegiados são executados no modo kernel . O código do modo kernel tem permissão para acessar qualquer parte do sistema e não é restrito como código de modo de usuário. O código do modo kernel pode acessar qualquer parte de qualquer outro processo em execução no modo de usuário ou no modo kernel. Grande parte da funcionalidade principal do sistema operacional e muitos drivers de dispositivo de hardware são executados no modo kernel.
Aplicativos e subsistemas no computador são executados no modo de usuário . Os processos executados no modo de usuário fazem isso em seus próprios espaços de endereço virtual. Eles são impedidos de obter acesso direto a muitas partes do sistema, incluindo hardware do sistema, memória que não é alocada para uso e outras partes do sistema que podem comprometer a integridade do sistema. Os processos executados no modo de usuário são efetivamente isolados do sistema e de outros processos de modo de usuário, para que não possam interferir nesses recursos.
Se o seu objetivo é depurar um driver, determine se ele é um driver de modo kernel ou de modo de usuário. Os drivers do Modelo de Driver do Windows (WDM) e do Framework de Driver em Modo Kernel (KMDF) são ambos drivers em modo kernel. Como o nome sugere, os drivers User-Mode Driver Framework (UMDF) são drivers de modo de usuário.
Para alguns problemas, pode ser difícil determinar em qual modo o código é executado. Nesse caso, talvez seja necessário escolher um modo e ver quais informações estão disponíveis nesse modo. Alguns problemas exigem o uso do depurador no modo de usuário e no modo kernel.
Dependendo do modo em que você depura, talvez seja necessário configurar e usar os depuradores de maneiras diferentes. Alguns comandos de depuração operam da mesma forma em ambos os modos e alguns comandos operam de forma diferente.
Próximas etapas para depuração no modo núcleo
- Introdução ao WinDbg (modo kernel) – Concluir a instalação e a primeira sessão de depuração
- Depurar drivers universais: laboratório passo a passo (modo de kernel de eco) – laboratório prático com driver de eco
- Drivers de debug: laboratório passo a passo (modo de kernel Sysvad) – laboratório prático interativo com driver de áudio
Próximas etapas para depuração do modo de usuário
- Introdução ao WinDbg (modo de usuário) – Concluir a instalação e a primeira sessão de depuração
4. Escolha seu ambiente de depurador
O depurador WinDbg funciona bem na maioria das situações, mas há momentos em que você pode querer usar outro depurador, como depuradores de console para automação ou Visual Studio. Para obter mais informações, consulte Ambientes de depuração.
5. Determinar como conectar o destino e o host
Normalmente, você conecta sistemas de destino e host usando uma rede Ethernet. Se você estiver fazendo o trabalho de inicialização antecipada ou não tiver uma conexão Ethernet em um dispositivo, outras opções de conexão de rede estarão disponíveis. Para obter mais informações, consulte estes artigos:
- Configurar a depuração automática do kernel de rede KDNET
- Configurar a depuração de rede de uma máquina virtual ― KDNET
6. Escolha ferramentas de depuração de 32 bits ou 64 bits
Se você precisa de um depurador de 32 bits ou 64 bits depende da versão de Windows que é executada nos sistemas de destino e host e se você está depurando código de 32 bits ou 64 bits. Para obter mais informações, consulte Como escolher entre ferramentas de depuração de 32 bits ou 64 bits.
7. Configurar símbolos
Para usar todas as funcionalidades avançadas que o WinDbg fornece, você deve carregar os símbolos adequados. Se você não configurar corretamente símbolos, receberá mensagens indicando que os símbolos não estão disponíveis quando você tenta usar a funcionalidade que depende de símbolos. Para obter mais informações, consulte Símbolos para depuração do Windows.
8. Configurar o código-fonte
Se o seu objetivo for depurar seu próprio código-fonte, será necessário configurar um caminho para o código-fonte. Para obter mais informações, consulte Caminho de origem.
9. Familiarize-se com a operação do depurador
A seção Operação do depurador desta documentação descreve a operação do depurador para várias tarefas. Por exemplo, Manter um arquivo de log no WinDbg descreve como o WinDbg pode gravar um arquivo de log que registra a sessão de depuração.
10. Familiarize-se com as técnicas de depuração
Técnicas de depuração padrão se aplicam à maioria dos cenários de depuração e exemplos incluem a configuração de pontos de interrupção, a inspeção da pilha de chamadas e a localização de um vazamento de memória. Técnicas especializadas de depuração se aplicam a tecnologias ou tipos específicos de código. Os exemplos incluem depuração Plug and Play, depuração KMDF e depuração de RPC.
11. Use os comandos de referência do depurador
Use comandos de depuração diferentes enquanto trabalha no depurador. Para obter ajuda em qualquer comando durante a depuração, use o comando .hh seguido pelo nome do comando.
Exemplos:
.hh bp # Get help on breakpoint commands
.hh k # Get help on call stack commands
Para obter uma lista completa de comandos disponíveis, consulte Referência do Depurador.
12. Use extensões de depuração para tecnologias específicas
Use várias extensões de depuração para analisar estruturas de dados específicas do domínio. Para obter mais informações, consulte Extensões especializadas. Para obter informações sobre como carregar extensões de depurador, consulte Carregando DLLs de extensão do depurador.
13. Saiba mais sobre Windows internos relacionados
Esta documentação pressupõe que você tenha algum conhecimento sobre os principais Windows internos. Para saber mais sobre Windows internos, incluindo uso de memória, contexto, threads e processos, examine recursos como Windows Internals por Pavel Yosifovich, Mark E. Russinovich, David A. Solomon e Alex Ionescu.
14. Revise recursos adicionais de depuração
Outros recursos incluem os seguintes livros e vídeos:
- Depuração Interna do Windows: Depuração Prática e Estratégias de Rastreamento por Tarik Soulami
- Depuração Avançada de Windows por Mario Hewardt e Daniel Pravat
- Defrag Tools série de vídeos, episódios de 13 a 29, tudo sobre WinDbg
Próximas etapas
Escolha o modo de depuração para continuar:
Depuração no modo kernel (para drivers e componentes do sistema operacional):
- Introdução ao WinDbg (modo kernel)
- Depurar drivers universais ― Laboratório passo a passo (modo kernel Echo)
Depuração do modo de usuário (para aplicativos):
Diretrizes adicionais de instalação: