.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
Criar despejos para todos os processos (requer -u).

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

/c <comment>
Adicione um comentário (sem suporte em todos os formatos).

/j <addr>
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
Acrescente o identificador exclusivo ao nome do despejo.

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

(Modo de usuário:) Sem suporte. Anteriormente, essa opção criava um despejo de modo de usuário completo, que é um formato herdado com menos informações do que o formato de minidump mais recente. Para obter mais informações, consulte Variedades de arquivos de despejo de User-Mode.

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

FullOption Efeito
y Adiciona informações de registro AVX ao arquivo de despejo.

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

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

MiniOpção Efeito
um Cria um minidump com todas as adições opcionais. A opção /ma é equivalente a /mfFhut – ela adiciona dados de memória completa, manipula dados, informações de módulo descarregadas, informações básicas de memória e informações de tempo de thread ao minidump. Qualquer falha na leitura da memória inacessível resulta no encerramento da geração de minidump.
A A opção /mA é equivalente a /ma, exceto que ignora qualquer falha na leitura de memória inacessível e continua gerando o minidump.
f Adiciona dados de memória completa ao minidump. 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 minidump. Isso adiciona um fluxo ao minidump 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 de memória virtual completo do processo quando o minidump está sendo depurado.
h Adiciona dados sobre os identificadores associados ao aplicativo de destino ao minidump.
u Adiciona informações de módulo descarregadas ao minidump.
t Adiciona informações adicionais de thread ao minidump. Isso inclui tempos de thread, que podem ser exibidos usando a extensão !runaway ou o comando .ttime (Exibir Tempos de Thread) ao depurar o minidump.
i Adiciona memória secundária ao minidump. A memória secundária é qualquer memória referenciada por um ponteiro na pilha ou repositório de backup, além de uma pequena região ao redor desse endereço.
p Adiciona dados de PEB (bloco de ambiente de processo) e TEB (bloco de ambiente de thread) ao minidump. Isso pode ser útil se você precisar de acesso às 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 minidump.
d Adiciona todos os segmentos de dados de leitura/gravação dentro da imagem executável ao minidump.
c Adiciona seções de código em imagens.
r Exclui do minidump as partes da pilha e da memória do repositório 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 minidump menor (porque essas seções de memória são simplesmente zero), mas é útil se você quiser proteger a privacidade de outros aplicativos.
R Exclui os caminhos completos do módulo do minidump. Somente os nomes dos módulos serão incluídos. Essa é uma opção útil se você quiser proteger a privacidade da estrutura de diretório do usuário.
s 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 de kernel.

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

Informações adicionais

Para obter uma descrição dos arquivos de despejo no modo kernel e uma explicação de seu uso, consulte Arquivos de despejo no 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 no modo de usuário.

Comentários

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

  • Durante a depuração dinâmica do modo de usuário, 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 dinâmico, 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 do antigo. Isso será ú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" significa "minidump", os arquivos de despejo criados usando essa MiniOpção podem variar de tamanho de muito pequeno para muito grande. Ao especificar as MiniOpções adequadas, você pode controlar exatamente quais informações estão incluídas. Por exemplo, .dump /ma produz um despejo com uma grande quantidade de informações. O comando mais antigo, .dump /f, produz um arquivo "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 neste arquivo de despejo.

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

0:000> .dump /mfh myfile.dmp

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

Consulte Também

Variedades de arquivos de despejo de Kernel-Mode