Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Há seis ambientes de depuração disponíveis:
- WinDbg
- WinDbg (Clássico)
- Depurador do Kernel (KD)
- NTKD
- Depurador de Console (CDB)
- Depurador simbólico NT (NTSD)
As seções a seguir descrevem os ambientes de depuração.
WinDbg
O WinDbg é a versão mais recente do WinDbg, com visuais modernos, janelas mais rápidas e uma experiência de script completa, construída com o modelo de dados extensível do depurador como elemento central. O WinDbg está usando o mesmo mecanismo subjacente do WinDbg (Classic), portanto, todos os comandos, extensões e fluxos de trabalho aos quais você está acostumado ainda funcionarão como antes.
Para obter mais informações, consulte Recursos do WinDbg
WinDbg (Clássico)
Microsoft Windows Debugger WinDbg (Classic) é um depurador para Windows capaz de realizar depuração tanto em modo de utilizador quanto em modo kernel. WinDbg fornece depuração para o kernel do Windows, drivers em modo kernel e serviços do sistema, bem como aplicações e drivers em modo de utilizador.
WinDbg utiliza os formatos de símbolos de depuração do Visual Studio para depuração a nível de origem. Ele pode acessar qualquer símbolo ou variável de um módulo que tenha arquivos de símbolo PDB e pode acessar o nome de qualquer função pública que é exposta por módulos que foram compilados com arquivos de símbolo COFF (como arquivos .dbg do Windows).
WinDbg pode exibir código-fonte, definir pontos de interrupção, exibir variáveis (incluindo objetos C++), rastreamentos de pilha e memória. A janela de comandos do depurador permite ao utilizador emitir uma ampla variedade de comandos.
Para depuração em modo kernel, o WinDbg normalmente requer dois computadores (o computador host e o computador de destino). WinDbg também suporta várias opções de depuração remota para destinos de modo de usuário e modo kernel.
WinDbg é uma interface gráfica equivalente ao CDB/NTSD e ao KD/NTKD.
KD
O Microsoft Kernel Debugger (KD) é um programa de console baseado em caracteres que permite uma análise aprofundada da atividade do modo kernel em todos os sistemas operacionais baseados em NT. Você pode usar o KD para depurar componentes e drivers do modo kernel ou para monitorar o comportamento do próprio sistema operacional. O KD também suporta depuração multiprocessador.
Normalmente, o KD não é executado no computador que está a ser depurado. Você precisa de dois computadores (o computador host e o computador de destino) para depuração no modo kernel.
NTKD
Há uma variação do depurador KD chamada NTKD. É idêntico ao KD em todos os aspetos, exceto que gera uma nova janela de texto quando é iniciado, enquanto o KD herda a janela do Prompt de Comando da qual foi invocado.
CDB
O Microsoft Console Debugger (CDB) é um programa de console baseado em caracteres que permite a análise de baixo nível da memória e construções do modo de usuário do Windows. O nome Depurador de Console é usado para indicar o fato de que o CDB é classificado como um aplicativo de console; isso não implica que o aplicativo de destino deve ser um aplicativo de console. Na verdade, o CDB é totalmente capaz de depurar aplicativos de console e programas gráficos do Windows.
CDB é extremamente poderoso para depurar um programa que está atualmente em execução ou se interrompeu recentemente (análise em tempo real), e, ainda assim, é simples de configurar. Ele pode ser usado para investigar o comportamento de um aplicativo de trabalho. No caso de uma aplicação com falha, o CDB pode ser usado para obter um rastreamento de pilha ou para analisar os parâmetros problemáticos. Ele funciona bem em uma rede (usando um servidor de acesso remoto), pois é baseado em caracteres.
Com o CDB, você pode exibir e executar o código do programa, definir pontos de interrupção e examinar e alterar valores na memória. CDB pode analisar código binário desmontando-o e exibindo instruções de montagem. Ele também pode analisar o código-fonte diretamente.
Como o CDB pode acessar locais de memória por meio de endereços ou símbolos globais, você pode consultar dados e instruções por nome em vez de endereço, facilitando a localização e depuração de seções específicas de código. CDB suporta depuração de vários threads e processos. É extensível e pode ler e escrever memória paginada e não paginada.
Se o aplicativo de destino for um aplicativo de console, o destino compartilhará a janela do console com o CDB. Para gerar uma janela de console separada para um aplicativo de console de destino, use a opção de linha de comando -2 .
NTSD
Há uma variação do depurador CDB chamado Microsoft NT Symbolic Debugger (NTSD). Ele é idêntico ao CDB em todos os sentidos, exceto que ele gera uma nova janela de texto quando é iniciado, enquanto o CDB herda a janela do prompt de comando da qual foi invocado.
Como o comando start também pode ser usado para gerar uma nova janela do console, as duas construções a seguir darão os mesmos resultados:
start cdb parameters
ntsd parameters
É possível redirecionar a entrada e saída do NTSD (ou CDB) para permitir o seu controlo a partir de um depurador do kernel (Visual Studio, WinDbg ou KD). Se essa técnica for usada com NTSD, nenhuma janela de console aparecerá. Controlar NTSD a partir do depurador do kernel é, portanto, especialmente útil, uma vez que resulta em um depurador extremamente leve que coloca quase nenhuma carga sobre o computador que contém o aplicativo de destino. Essa combinação pode ser usada para depurar processos do sistema, desligamento e os estágios posteriores da inicialização. Para mais detalhes, consulte Controlar o User-Mode Depurador a partir do Depurador do Kernel.
Ver também
Depuração do Windows