Compartilhar via


Método IDebugClient4::WriteDumpFile2 (dbgeng.h)

O método WriteDumpFile2 cria um arquivo de despejo de modo de usuário ou kernel-modecrash.

Sintaxe

HRESULT WriteDumpFile2(
  [in]           PCSTR DumpFile,
  [in]           ULONG Qualifier,
  [in]           ULONG FormatFlags,
  [in, optional] PCSTR Comment
);

Parâmetros

[in] DumpFile

Especifica o nome do arquivo de despejo a ser criado. DumpFile deve incluir a extensão de nome de arquivo. DumpFile pode incluir um caminho relativo ou absoluto; caminhos relativos são relativos ao diretório no qual o depurador foi iniciado.

[in] Qualifier

Especifica o tipo de arquivo de despejo a ser criado. Para obter valores possíveis, consulte DEBUG_DUMP_XXX.

[in] FormatFlags

Especifica sinalizadores que determinam o formato do arquivo de despejo e, para minidumps no modo de usuário, quais informações incluir no arquivo. Para obter detalhes, consulte Observações.

[in, optional] Comment

Especifica uma cadeia de caracteres de comentário a ser incluída no arquivo de despejo de memória. Essa cadeia de caracteres é exibida no console do depurador quando o arquivo de despejo é carregado. Alguns formatos de arquivo de despejo não dão suporte ao armazenamento de cadeias de caracteres de comentário.

Retornar valor

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.

Comentários

Os sinalizadores de bits DEBUG_FORMAT_XXX são usados por WriteDumpFile2 e WriteDumpFileWide para determinar o formato de um arquivo de despejo de memória e, para minidumps no modo de usuário, quais informações incluir no arquivo.

Os sinalizadores de bit a seguir se aplicam a todos os arquivos de despejo de memória.

Valor Descrição
DEBUG_FORMAT_WRITE_CAB Empacote o arquivo de despejo de memória em um arquivo CAB. O nome de arquivo ou identificador de arquivo fornecido é usado para o arquivo CAB; o despejo de memória é criado primeiro em um arquivo temporário antes de ser movido para o arquivo CAB.
DEBUG_FORMAT_CAB_SECONDARY_FILES
Inclua os símbolos atuais e as imagens mapeadas no arquivo CAB.
Se DEBUG_FORMAT_WRITE_CAB não estiver definido, esse sinalizador será ignorado.
DEBUG_FORMAT_NO_OVERWRITE Não substitua arquivos existentes.
 

Os sinalizadores de bit a seguir também podem ser incluídos para minidumps no modo de usuário.

Valor Descrição
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY Adicionar dados de memória completa. Todas as páginas confirmadas acessíveis pertencentes ao aplicativo de destino serão incluídas.
DEBUG_FORMAT_USER_SMALL_HANDLE_DATA Adicione dados sobre os identificadores associados ao aplicativo de destino.
DEBUG_FORMAT_USER_SMALL_UNLOADED_MODULES Adicione informações do módulo descarregado. Essas informações estão disponíveis apenas no Windows Server 2003 e versões posteriores do Windows.
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY Adicionar memória indireta. Uma pequena região de memória que envolve qualquer endereço referenciado por um ponteiro na pilha ou repositório de backup está incluída.
DEBUG_FORMAT_USER_SMALL_DATA_SEGMENTS Adicione todos os segmentos de dados nas imagens executáveis.
DEBUG_FORMAT_USER_SMALL_FILTER_MEMORY Defina como zero toda a memória na pilha e no repositório de backup que não é útil para recriar o rastreamento de pilha. Isso pode tornar a compactação do Minidump mais eficiente e aumentar a privacidade removendo informações desnecessárias.
DEBUG_FORMAT_USER_SMALL_FILTER_PATHS Remova os caminhos do módulo, deixando apenas os nomes dos módulos. Isso é útil para proteger a privacidade ocultando a estrutura de diretório (que pode conter o nome do usuário).
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA Adicione o PEB (bloco de ambiente de processo) e o bloco de ambiente de thread (TEB). Esse sinalizador pode ser usado para fornecer informações do sistema Windows para threads e processos.
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY Adicione todas as páginas de memória de leitura e gravação privadas confirmadas.
DEBUG_FORMAT_USER_SMALL_NO_OPTIONAL_DATA
Impedir que dados confidenciais de privacidade sejam incluídos no Minidump. Atualmente, esse sinalizador exclui os dados do Minidump que teriam sido adicionados devido aos seguintes sinalizadores que estão sendo definidos:
DEBUG_FORMAT_USER_SMALL_PROCESS_THREAD_DATA,
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY,
DEBUG_FORMAT_USER_SMALL_INDIRECT_MEMORY,
DEBUG_FORMAT_USER_SMALL_PRIVATE_READ_WRITE_MEMORY.
DEBUG_FORMAT_USER_SMALL_FULL_MEMORY_INFO Adicione todas as informações básicas de memória. Essas são as informações retornadas pelo método QueryVirtual . As informações de toda a memória estão incluídas, não apenas memória válida, o que permite que o depurador reconstrua o layout de memória virtual completo do Minidump.
DEBUG_FORMAT_USER_SMALL_THREAD_INFO Adicione informações adicionais de thread, que incluem tempo de execução, hora de início, hora de saída, endereço de início e saída status.
DEBUG_FORMAT_USER_SMALL_CODE_SEGMENTS Adicione todos os segmentos de código com as imagens executáveis.
 

Para obter mais informações sobre arquivos de despejo de memória, consulte Destinos de arquivo de despejo.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h (inclua Dbgeng.h)

Confira também

.dump (Criar arquivo de despejo)

IDebugClient2

IDebugClient3

IDebugClient4

IDebugClient5

WriteDumpFileWide