Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo inclui:
- Analisando um arquivo de despejo de User-Mode com o WinDbg
- Analisando um ficheiro de despejo User-Mode com o CDB
Analisando um arquivo de despejo de User-Mode com o WinDbg
Você pode analisar arquivos de despejo de memória no modo de usuário com o WinDbg. O processador ou a versão do Windows que criou o arquivo de despejo não precisa corresponder à plataforma na qual você está executando o WinDbg.
Instalando arquivos de símbolo
Antes de analisar o arquivo de despejo de memória, acesse os arquivos de símbolo para a versão do Windows que gerou o arquivo de despejo. O depurador escolhido para analisar o arquivo de despejo usa esses arquivos. Para obter informações sobre como trabalhar com o servidor de símbolos, consulte Microsoft Public Symbols.
Você também precisa instalar todos os arquivos de símbolos para o processo em modo de utilizador, seja uma aplicação ou um serviço do sistema, que levou o sistema a gerar o arquivo de despejo. Se você escreveu esse código, os arquivos de símbolo são gerados quando você compila e vincula o código. Se esse código for comercial, entre em contato com o fabricante do software para ver se os arquivos de símbolo estão disponíveis.
Iniciando o WinDbg
Para analisar um arquivo de despejo, inicie o WinDbg com a opção de linha de comando -z:
windbg -ySymbolPath-iImagePath-zDumpFileName
A opção -v (modo detalhado) também é útil. Para obter uma lista completa de opções, consulte WinDbg Command-Line Options.
Se o WinDbg já estiver em execução e no modo inativo, você poderá abrir um despejo de memória selecionando o arquivo | Abra o comando de menu Crash Dump ou pressione CTRL+D. Quando a caixa de diálogo para despejo de memória for exibida, digite o caminho completo e o nome do arquivo de despejo de memória na caixa de texto Nome do arquivo ou use a mesma caixa de diálogo para selecionar o caminho e o nome do arquivo corretos. Quando o arquivo adequado for escolhido, selecione Abrir.
Você também pode abrir um arquivo de despejo depois que o depurador estiver em execução usando o comando .opendump (Open Dump File), seguido de g (Go).
Você pode depurar vários arquivos de despejo ao mesmo tempo. Para fazer isso, inclua várias opções -z na linha de comando (cada uma seguida por um nome de arquivo diferente) ou use .opendump para adicionar arquivos de despejo adicionais como destinos do depurador. Para obter informações sobre como controlar uma sessão de vários destinos, consulte Debugging Multiple Targets.
Os arquivos de despejo geralmente terminam com a extensão .dmp ou .mdmp. Você pode usar compartilhamentos de rede ou nomes de arquivo UNC (Convenção de Nomenclatura Universal) para o arquivo de despejo de memória.
É comum empacotar arquivos de despejo em um arquivo CAB. Caso especifiques o nome do ficheiro (incluindo a extensão .cab) após a opção -z ou como argumento para um comando.opendump, o depurador pode ler diretamente os ficheiros de despejo a partir do ficheiro CAB. No entanto, se houver vários arquivos de despejo armazenados em um único CAB, o depurador pode ler apenas um deles. O depurador não lê nenhum ficheiro adicional do arquivo CAB, mesmo que sejam ficheiros de símbolo ou executáveis associados ao ficheiro de despejo.
Analisando um arquivo de despejo de usuário completo
Analisar um arquivo de despejo de usuário completo é semelhante a analisar uma sessão de depuração ao vivo. Para obter detalhes sobre os comandos disponíveis para depurar arquivos de despejo no modo de usuário, consulte a seção de referência Comandos do Depurador de.
Analisando arquivos Minidump
A análise de um arquivo minidump de modo de usuário é feita da mesma forma que a análise de um despejo de usuário completo. No entanto, como o minidump preserva muito menos memória, você fica mais limitado nas ações que pode executar. Os comandos que tentam acessar a memória além do que é preservado no arquivo minidump não funcionam corretamente.
Técnicas Adicionais
Para obter técnicas que pode usar para ler tipos específicos de informações de um ficheiro de despejo, consulte Extraindo Informações de um Ficheiro de Despejo.
Analisando um arquivo de despejo de User-Mode com CDB
Você pode usar o CDB para analisar arquivos de despejo de memória no modo de usuário. O processador ou a versão do Windows que criou o arquivo de despejo não precisa corresponder à plataforma na qual você está executando o CDB.
Instalando arquivos de símbolo
Antes de analisar o arquivo de despejo de memória, acesse os arquivos de símbolo para a versão do Windows que gerou o arquivo de despejo. O depurador escolhido para analisar o arquivo de despejo usa esses arquivos. Para obter informações sobre como trabalhar com o servidor de símbolos, consulte Microsoft Public Symbols.
Você também precisa instalar todos os arquivos de símbolo para o processo de modo de usuário, seja um aplicativo ou serviço do sistema, que fez com que o sistema gerasse o arquivo de despejo. Se você escreveu esse código, os arquivos de símbolo são gerados quando você compila e vincula o código. Se esse código for comercial, entre em contato com o fabricante do software para ver se os arquivos de símbolo estão disponíveis.
Iniciando o CDB
Para analisar um arquivo de despejo, inicie o CDB com a opção de linha de comando -z:
cdb -ySymbolPath-iImagePath-zDumpFileName
A opção -v (modo detalhado) também é útil. Para obter uma lista completa de opções, consulte CDB Command-Line Options.
Você também pode abrir um arquivo de despejo depois que o depurador estiver em execução usando o comando .opendump (Open Dump File), seguido de g (Go). Este comando permite inspecionar vários ficheiros de despejo ao mesmo tempo.
Você pode depurar vários arquivos de despejo ao mesmo tempo. Para fazer isso, inclua várias opções -z na linha de comando (cada uma seguida por um nome de arquivo diferente) ou use .opendump para adicionar arquivos de despejo adicionais como destinos do depurador. Para obter informações sobre como controlar uma sessão com vários alvos, consulte Debugging Multiple Targets.
Os arquivos de despejo geralmente terminam com a extensão .dmp ou .mdmp. Você pode usar compartilhamentos de rede ou nomes de arquivo UNC (Convenção de Nomenclatura Universal) para o arquivo de despejo de memória.
É comum empacotar arquivos de despejo em um arquivo CAB. Se você especificar o nome do arquivo (incluindo a extensão .cab) após a opção -z ou como argumento para um comando.opendump, o depurador poderá ler os arquivos de despejo diretamente do CAB. No entanto, se houver vários arquivos de despejo armazenados em um único CAB, o depurador pode ler apenas um deles. O depurador não lê nenhum arquivo adicional do CAB, mesmo que sejam arquivos de símbolo ou executáveis associados ao arquivo de despejo.
Analisando um arquivo de despejo de usuário completo
Analisar um arquivo de dump de usuário completo é semelhante a analisar uma sessão de depuração em tempo real. Para obter detalhes sobre os comandos disponíveis para depurar ficheiros de despejo no modo de usuário, consulte a seção de referência Comandos do Depurador.
Analisando arquivos Minidump
A análise de um arquivo minidump de modo de usuário é feita da mesma forma que um despejo de usuário completo. No entanto, como o minidump preserva muito menos memória, você fica mais limitado nas ações que pode executar. Os comandos que tentam acessar a memória além do que o arquivo minidump preserva não funcionam corretamente.
Técnicas Adicionais
Para obter técnicas que você pode usar para ler tipos específicos de informações de um arquivo de despejo, consulte extraindo informações de um arquivo de despejo.