Compartilhar via


.dump (Criar Arquivo de Despejo)

O comando .dump cria um modo usuário ou um arquivo de despejo de memória em modo 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 <comment>
Adicione um comentário (não compatível 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
Anexe o identificador exclusivo ao nome do despejo.

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

(Modo usuário:) Não compatível. Anteriormente, essa opção criaria um despejo em modo usuário completo, que é um formato herdado com menos informações do que o formato de minidespejo mais recente. Para obter mais informações, consulte Tipos de arquivos de despejo em modo usuário.

Você pode adicionar as FullOptions a seguir 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 despejo de memória pequeno (em modo kernel) ou um minidespejo (em modo usuário) Para obter mais informações, consulte Arquivos de despejo em modo usuário. Se /f nem /m for especificado, /m será o padrão.

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

MiniOption Efeito
um Cria um minidespejo com todas as adições opcionais. A opção /ma equivale 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 do tempo de thread para minidespejo. Qualquer falha na leitura da memória inacessível acarreta o encerramento da geração de minidespejos.
Um A opção /mA equivale a /ma, exceto porque 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 de memória básicas ao minidespejo. Isso adiciona um fluxo ao minidespejo que contém todas as informações de memória básicas, e não apenas informações sobre memória válida. Isso permite que o depurador reconstrua o layout completo de 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 de módulo descarregado ao minidespejo.
t Adiciona informações 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 em torno desse endereço.
p Adiciona dados do bloco de ambiente de processos (PEB) e bloco de ambiente de thread (TEB) ao minidespejo. Isso poderá ser útil se você precisar ter 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 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 dentro das imagens.
r Exclui do minidespejo as partes da pilha e da memória de armazenamento que não sejam úteis para recriar o rastreamento de pilha. Variáveis locais e outros valores de tipo de dados também são excluídos. Esta opção não deixa o minidespejo menor (porque essas seções de memória são simplesmente zeradas), mas será útil se você quiser proteger a privacidade de outros aplicativos.
R Exclui os caminhos de módulo completos do minidespejo. Somente os nomes de módulo serão incluídos. Esta será uma opção útil se você quiser proteger a privacidade da estrutura de diretórios do usuário.
y Adiciona informações de registro AVX ao arquivo de despejo.

Opções em modo kernel

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

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

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

Informações Adicionais

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

Comentários

Esse comando pode ser usado em uma grande variedade de situações:

  • Durante a depuração em modo 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 em 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 anterior. Isso será útil se você tiver um arquivo de despejo de memória grande e quiser criar um menor.

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

  • Em 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.

  • Em modo usuário, .dump /m[MiniOptions] é a melhor opção. Embora "m" signifique "minidump", os arquivos de despejo criados usando essa MiniOption podem variar de um tamanho muito pequeno para um muito grande. Ao especificar as MiniOptions indicadas, 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 anterior, .dump /f, produz um arquivo de "despejo padrão" razoavelmente 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 em modo usuário, contendo informações de memória completa e 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