Compartilhar via


.dump (Criar arquivo de despejo)

O comando .dump cria um arquivo de despejo de memória no modo de usuário ou kernel.

.dump [options] FileName
.dump /?

Parâmetros

Opções
Representa uma ou mais das opções a seguir.

/a
Crie despejos para todos os processos (requer -u).

/b[a]
Despejo de pacote em um CAB e despejo de exclusão. Informações adicionais serão incluídas se a opção a for especificada.

/c <comentário>
Adicione um comentário (não suportado em todos os formatos).

/j <endereço>
Forneça um endereço JIT_DEBUG_INFO.

/o
Substitui um arquivo de despejo existente com o mesmo nome. Se essa opção não for usada e houver um arquivo com o mesmo nome de arquivo, o arquivo de despejo não será gravado.

/u
Anexe o identificador exclusivo ao nome do despejo.

/f[FullOptions]
(Modo kernel:) Cria um despejo de memória completo.

(Modo de usuário:) Não suportado. Anteriormente, essa opção criava um despejo completo no modo de usuário, que é um formato herdado com menos informações do que o formato de minidespejo mais recente. Para obter mais informações, consulte Variedades de arquivos de despejo do modo de usuário.

Você pode adicionar as seguintes FullOptions para alterar o conteúdo do arquivo de despejo; a opção diferencia maiúsculas de minúsculas.

Opção completa Efeito
y Adiciona informações de registro AVX ao arquivo de despejo.

/m[MiniOpções]
Cria um pequeno despejo de memória (no modo kernel) ou um minidespejo (no modo de usuário) Para obter mais informações, consulte Arquivos de despejo do modo de usuário. Se nem /f nem /m forem especificados, /m será o padrão.

No modo de usuário, /m pode ser seguido com MiniOptions adicionais especificando dados extras que devem ser incluídos no despejo. Se nenhuma MiniOptions for incluída, o despejo incluirá informações de módulo, thread e pilha, mas nenhum dado adicional. Você pode adicionar qualquer uma das seguintes MiniOptions para alterar o conteúdo do arquivo de despejo; elas diferenciam maiúsculas de minúsculas.

MiniOpção Efeito
um Cria um minidespejo com todas as adições opcionais. A opção /ma é equivalente a /mfFhut – ela adiciona dados de memória completa, dados de manipulação, informações de módulo descarregado, informações básicas de memória e informações de tempo de thread ao minidespejo. Qualquer falha ao ler a memória inacessível resulta no encerramento da geração de minidespejo.
Um A opção /mA é equivalente a /ma, exceto que ela ignora qualquer falha na leitura de memória inacessível e continua gerando o minidespejo.
f Adiciona dados de memória completa ao minidespejo. Todas as páginas confirmadas acessíveis pertencentes ao aplicativo de destino serão incluídas.
F Adiciona todas as informações básicas de memória ao minidespejo. Isso adiciona um fluxo ao minidespejo que contém todas as informações básicas de memória, não apenas informações sobre memória válida. Isso permite que o depurador reconstrua o layout completo da memória virtual do processo quando o minidespejo está sendo depurado.
h Adiciona dados sobre os identificadores associados ao aplicativo de destino ao minidespejo.
u Adiciona informações do módulo descarregado ao minidespejo.
t Adiciona informações adicionais de thread ao minidespejo. Isso inclui tempos de thread, que podem ser exibidos usando a extensão !runaway ou o comando .ttime (Exibir Horários de Thread) ao depurar o minidespejo.
i Adiciona memória secundária ao minidespejo. A memória secundária é qualquer memória referenciada por um ponteiro na pilha ou no repositório de backup, além de uma pequena região ao redor desse endereço.
p Adiciona dados PEB (bloco de ambiente de processo) e TEB (bloco de ambiente de thread) ao minidespejo. Isso pode ser útil se você precisar acessar as informações do sistema Windows sobre os processos e threads do aplicativo.
w Adiciona todas as páginas privadas de leitura/gravação confirmadas ao minidespejo.
d Adiciona todos os segmentos de dados de leitura/gravação dentro da imagem executável ao minidespejo.
c Adiciona seções de código nas imagens.
r Exclui do minidespejo as partes da pilha e armazena memória que não são úteis para recriar o rastreamento de pilha. Variáveis locais e outros valores de tipo de dados também são excluídos. Essa opção não torna o minidespejo menor (porque essas seções de memória são simplesmente zeradas), mas é útil se você quiser proteger a privacidade de outros aplicativos.
R Exclui os caminhos completos do módulo do minidespejo. Apenas os nomes dos módulos serão incluídos. Esta é uma opção útil se você deseja proteger a privacidade da estrutura de diretórios do usuário.
y Adiciona informações de registro AVX ao arquivo de despejo.

Opções do modo kernel

As opções a seguir estão disponíveis no modo kernel.

/k
Crie um despejo somente com memória do kernel.

/Ka
Crie um despejo com kernel ativo e memória de modo de usuário.

Informações Adicionais

Para obter uma descrição dos arquivos de despejo do modo kernel e uma explicação de seu uso, consulte Arquivos de despejo do modo kernel. Para obter uma descrição dos arquivos de despejo do modo de usuário e uma explicação de seu uso, consulte Arquivos de despejo do modo de usuário.

Comentários

Esse comando pode ser usado em várias situações:

  • Durante a depuração do modo de usuário ao vivo, esse comando direciona o aplicativo de destino para gerar um arquivo de despejo, mas o aplicativo de destino não é encerrado.

  • Durante a depuração do modo kernel ao vivo, esse comando direciona o computador de destino para gerar um arquivo de despejo, mas o computador de destino não falha.

  • Durante a depuração de despejo de memória, esse comando cria um novo arquivo de despejo de memória a partir do antigo. Isso é útil se você tiver um arquivo de despejo de memória grande e quiser criar um menor.

Você pode controlar que tipo de arquivo de despejo será produzido:

  • No modo kernel, para produzir um despejo de memória completo, use a opção /f . Para produzir um pequeno despejo de memória, use a opção /m (ou nenhuma opção). O comando .dump não pode produzir um despejo de memória do kernel.

  • No modo de usuário, .dump /m[MiniOptions] é a melhor opção. Embora "m" signifique "minidump", os arquivos de despejo criados usando essa MiniOption podem variar em tamanho de muito pequeno a muito grande. Ao especificar as MiniOptions adequadas, você pode controlar exatamente quais informações estão incluídas. Por exemplo, .dump /ma produz um dump com uma grande quantidade de informações. O comando mais antigo, .dump /f, produz um arquivo de "despejo padrão" moderadamente grande e não pode ser personalizado.

Você não pode especificar qual processo é despejado. Todos os processos em execução serão despejados.

As opções /xc, /xr, /xp e /xt são usadas para armazenar informações de exceção e contexto no arquivo de despejo. Isso permite que o comando .ecxr (Exibir Registro de Contexto de Exceção) seja executado nesse arquivo de despejo.

O exemplo a seguir criará um minidespejo no modo de usuário, contendo memória completa e informações de identificador:

0:000> .dump /mfh myfile.dmp

As informações do identificador podem ser lidas usando o comando de extensão !handle .

Confira também

Variedades de arquivos de despejo no modo kernel

.ecxr