Partilhar via


_CrtSetReportFile

Depois de especificar _CRTDBG_MODE_FILE com _CrtSetReportMode, você pode especificar o identificador de arquivo para receber o texto da mensagem. _CrtSetReportFile também é usada pelo _CrtDbgReport, _CrtDbgReportW Para especificar o destino de texto (somente versão de depurar).

_HFILE _CrtSetReportFile( 
   int reportType,
   _HFILE reportFile 
);

Parâmetros

  • reportType
    Tipo de relatório: _CRT_WARN, _CRT_ERROR, e _CRT_ASSERT.

  • reportFile
    Novo arquivo de relatório para reportType.

Valor de retorno

Após a conclusão bem-sucedida, _CrtSetReportFile Retorna o arquivo de relatório anterior definido para o tipo de relatório especificado em reportType. Se um valor inválido for psistema autônomosed para reportType, essa função chama o manipulador de parâmetro inválido sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é definido como EINVAL e a função retorna _CRTDBG_HFILE_ERROR. For more information, see errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

_CrtSetReportFile é usado com o _CrtSetReportMode função para definir o destino ou destinos para um tipo específico de relatório gerado pelo _CrtDbgReport. Quando _CrtSetReportMode foi chamado para atribuir o _CRTDBG_MODE_FILE modo de relatório para um tipo de relatório específico, _CrtSetReportFile em seguida, deve ser chamado para definir o arquivo específico ou fluxo para usar sistema autônomo destino. Quando _DEBUG não foi definido, chamadas para _CrtSetReportFile serão removidos durante a pré-processamento.

A tabela a seguir mostra uma lista de opções disponível para reportFile e o comportamento resultante de _CrtDbgReport. Essas opções são definidas sistema autônomo sinalizadores de bit em Crtdbg.h.

  • file handle
    Um identificador para o arquivo que será o destino de mensagens.Não é feita nenhuma tentativa para verificar a validade da alça.Você deve em em aberto e fechar o identificador para o arquivo.Por exemplo:

       HANDLE hLogFile;
       hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE, 
          FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, 
          FILE_ATTRIBUTE_NORMAL, NULL);
       _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
       _CrtSetReportFile(_CRT_WARN, hLogFile);
    
       _RPT0(_CRT_WARN,"file message\n");
       CloseHandle(hLogFile);
    
  • _CRTDBG_FILE_STDERR
    Grava mensagem stderr, que podem ser redirecionadas da seguinte maneira:

       freopen( "c:\\log2.txt", "w", stderr);
       _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
       _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
    
       _RPT0(_CRT_ERROR,"1st message\n");
    
  • _CRTDBG_FILE_STDOUT
    Grava mensagem stdout, que pode redirecionar.

  • _CRTDBG_REPORT_FILE
    Retorna o modo corrente do relatório.

O arquivo de relatório usado por cada tipo de relatório pode ser controlado separadamente.Por exemplo, é possível especificar que um reportType de _CRT_ERROR ser relatado para stderr, enquanto um reportType de _CRT_ASSERT ser informados a um identificador de arquivo definido pelo usuário ou fluxo.

Requisitos

Rotina

Cabeçalho necessário

Cabeçalho opcional

_CrtSetReportFile

<crtdbg.h>

<errno.h>

Para obter mais informações de compatibilidade, consulte Compatibility na introdução.

Bibliotecas: Versões de depurar de C em time de execução bibliotecas somente.

Exemplo

Consulte Exemplo de Relatar: C Run-Time Depurando Relatar funções.

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. For more information, see Exemplos de invocação de plataforma.

Consulte também

Referência

Rotinas de depurar