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 a usar a depuração do Windows usando o WinDbg e outras ferramentas de depuração. Você aprenderá a:
- 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
Nota: Se você quiser analisar um despejo de memória em vez disso, consulte Analisar arquivos de despejo de falha usando o WinDbg.
Para começar a usar a depuração do Windows, siga as etapas abaixo.
1. Instalar o Depurador do Windows
Instale o WinDbg para começar a depurar 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
Dois sistemas de computador separados normalmente são usados para depuração porque a execução de instruções no processador geralmente é pausada durante o processo. 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, é possível 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, você precisa determinar se deseja 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 WDM (Windows Driver Model) e o KMDF (Kernel-Mode Driver Framework) são drivers de 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 do 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 de Plug and Play, depuração de KMDF e depuração de RPC.
11. Use os comandos de referência do depurador
Você pode usar diferentes comandos de depuração 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
Você pode usar 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 os componentes internos do Windows e os aspectos relacionados
Esta documentação pressupõe que você tenha algum conhecimento sobre os principais internos do Windows. Para saber mais sobre os internos do Windows, incluindo uso de memória, contexto, threads e processos, você pode examinar recursos como Os Internos do Windows 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:
- Por dentro da depuração do Windows: Estratégias práticas de depuração e rastreamento por Tarik Soulami
- Depuração avançada do 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: