Compartilhar via


_CrtDbgReport, CrtDbgReportW

Gera um relatório com uma mensagem de depuração e envia o relatório para três destinos possíveis (somente a versão de depuração).

int _CrtDbgReport( 
   int reportType,
   const char *filename,
   int linenumber,
   const char *moduleName,
   const char *format [,
   argument] ... 
);
int _CrtDbgReportW( 
   int reportType,
   const wchar_t *filename,
   int linenumber,
   const wchar_t *moduleName,
   const wchar_t *format [,
   argument] ... 
);

Parâmetros

  • reportType
    Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.

  • filename
    Ponteiro para o nome do arquivo de origem onde ocorreu o assert/relatório ou NULL.

  • linenumber
    O número no arquivo de origem onde ocorreu o assert/relatório de linha ou NULL.

  • moduleName
    Ponteiro para o nome do módulo (. exe ou. dll) onde ocorreu o assert/relatório.

  • format
    Ponteiro para a seqüência de caracteres de controle do formato usado para criar a mensagem do usuário.

  • argument
    Os argumentos de substituição opcional usados por format.

Valor de retorno

Para todos os destinos de relatório, _CrtDbgReport e _CrtDbgReportW retornar – 1 se ocorrer um erro e 0 se não há erros.No entanto, quando o destino do relatório é uma janela de mensagem de depuração e o usuário clica a Retry botão, essas funções retornam 1.Se o usuário clica a Abort botão na janela da mensagem de depuração, essas funções é o imediatamente a anulação e não retornam um valor.

O _RPT, _RPTF depurar macros chamada _CrtDbgReport para gerar seu debug relatórios.As versões de caractere largo dessas macros, bem como _ASSERT [E, _RPTWn e _RPTFWn, use _CrtDbgReportW para gerar seu debug relatórios.Quando _CrtDbgReport ou _CrtDbgReportW retornar 1, essas macros para iniciar o depurador, desde que a depuração just-in-time (JIT) está habilitada.

Comentários

_CrtDbgReporte _CrtDbgReportW pode enviar o relatório de depuração para três destinos diferentes: um arquivo de relatório de depuração, um monitor de depuração (o Visual Studio depurador), ou uma janela de mensagem de depuração.Duas funções de configuração, _ CrtSetReportMode e _CrtSetReportFile, são usados para especificar o destino ou destinos para cada tipo de relatório.Estas funções permitem que o destino ou destinos para cada tipo de relatório a ser controlado separadamente a emissão de relatórios.Por exemplo, é possível especificar que uma reportType de _CRT_WARN apenas ser enviada para o monitor de depuração, enquanto um reportType de _CRT_ASSERT ser enviada para uma janela de mensagem de depuração e um arquivo de relatório definidos pelo usuário.

_CrtDbgReportWé a versão de caractere largo da _CrtDbgReport.Todos os seus parâmetros de saída e string são em seqüências de caracteres largos; Caso contrário, ele é idêntico para a versão de caracteres de byte único.

_CrtDbgReporte _CrtDbgReportW para criar a mensagem do usuário para o relatório de depuração, substituindo o argumentn argumentos para oformat em seqüência, usando as mesmas regras definidas pelo printf ou wprintf funções.Essas funções, em seguida, geram o relatório de depuração e determinam o destino ou destinos, com base em modos de relatório atual e o arquivo definido para reportType.Quando o relatório é enviado para uma janela de mensagem de depuração, o filename, lineNumber, e moduleName estão incluídas as informações exibidas na janela.

A tabela a seguir lista as opções disponíveis para o modo de relatório ou modos de arquivo e o comportamento resultante de _CrtDbgReport e _CrtDbgReportW.Essas opções são definidas como sinalizadores de bit em Crtdbg.h.

Modo relatório

Arquivo de relatório

_CrtDbgReport, _CrtDbgReportW comportamento

_CRTDBG_MODE_DEBUG

Não aplicável.

Mensagem de gravações para o Windows OutputDebugString API.

_CRTDBG_MODE_WNDW

Não aplicável.

Chama o Windows MessageBox API para criar a caixa de mensagem para exibir a mensagem junto com Abort, Retry, e Ignore botões.Se um usuário clicar em Abort, _CrtDbgReport ou _CrtDbgReport aborta imediatamente.Se um usuário clicar em Retry, ele retornará 1.Se um usuário clicar em Ignore, continua a execução e _CrtDbgReport e _CrtDbgReportW retornar 0.Observe que clicar em Ignore quando uma condição de erro existe sempre resulta em "comportamento indefinido".

_CRTDBG_MODE_FILE

__HFILE

Mensagem de gravações para fornecido pelo usuário HANDLE, usando o Windows WriteFile API e não verifica a validade de identificador de arquivo; o aplicativo é responsável por abrir o arquivo de relatório e passando um identificador de arquivo válido.

_CRTDBG_MODE_FILE

_CRTDBG_FILE_STDERR

Mensagem de gravações para stderr.

_CRTDBG_MODE_FILE

_CRTDBG_FILE_STDOUT

Mensagem de gravações para stdout.

O relatório pode ser enviado para um, dois ou três destinos ou nenhum destino em todos os.Para obter mais informações sobre como especificar o modo de relatório ou modos e arquivo de relatório, consulte o _ CrtSetReportMode e _CrtSetReportFile funções.Para obter mais informações sobre como usar as macros de depuração e funções de emissão de relatórios, consulte Usando Macros para verificação e emissão de relatórios.

Se seu aplicativo precisar de mais flexibilidade do que o fornecido por _CrtDbgReport e _CrtDbgReportW, você pode escrever seu próprios relatórios função e vinculá-lo para a biblioteca de tempo de execução C, mecanismo de relatório usando o _CrtSetReportHook função.

Requisitos

Rotina

Cabeçalho necessário

_CrtDbgReport

<crtdbg.h>

_CrtDbgReportW

<crtdbg.h>

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

Bibliotecas

Versões de depuração de bibliotecas de tempo de execução c somente.

Exemplo

// crt_crtdbgreport.c
#include <crtdbg.h>

int main() {
#ifdef _DEBUG
   CrtDbgReport(_CRT_ASSERT, NULL, NULL, "some module", NULL);
#endif
}

Consulte crt_dbg2 para obter um exemplo de como alterar a função de relatório.

Equivalência do .NET Framework

Consulte também

Referência

Rotinas de depuração

CrtSetReportMode

_CrtSetReportFile

printf, _printf_l, wprintf, _wprintf_l

DEBUG