Partilhar via


_CrtSetReportHook

Instala uma função de relatório definida pelo cliente vinculando-a ao processo de relatório de depuração em tempo de execução C (somente versão de depuração).

Sintaxe

_CRT_REPORT_HOOK _CrtSetReportHook(
   _CRT_REPORT_HOOK reportHook
);

Parâmetros

reportHook
Nova função de relatório definida pelo cliente a ser vinculada ao processo de relatório de depuração em tempo de execução C.

Retornar valor

Retorna a função de relatório anterior definida pelo cliente.

Comentários

_CrtSetReportHook permite que um aplicativo use sua própria função de relatório no processo de relatório da biblioteca de depuração em tempo de execução C. Como resultado, sempre que _CrtDbgReport é chamado para gerar um relatório de depuração, a função de relatório do aplicativo é chamada primeiro. Essa funcionalidade permite que um aplicativo execute operações como filtragem de relatórios de depuração, para ele possa se concentrar em tipos de alocação específicos ou enviar um relatório para os destinos não disponíveis com o uso de _CrtDbgReport. Quando _DEBUG não está definido, as chamadas para _CrtSetReportHook são removidas durante o pré-processamento.

Para obter uma versão mais robusta do _CrtSetReportHook, consulte _CrtSetReportHook2.

A função _CrtSetReportHook instala a nova função de relatório definida pelo cliente especificada em reportHook e retorna o gancho anterior definido pelo cliente. O seguinte exemplo demonstra como um gancho de relatório definido pelo cliente deve ser prototipado:

int YourReportHook( int reportType, char *message, int *returnValue );

em que reportType é o tipo de relatório de depuração (_CRT_WARN, _CRT_ERROR ou _CRT_ASSERT), message é a mensagem do usuário de depuração totalmente montada a ser contida no relatório e returnValue é o valor especificado pela função de relatório definida pelo cliente que deve ser retornada por _CrtDbgReport. Para obter uma descrição completa dos tipos de relatório disponíveis, consulte a _CrtSetReportMode função.

Se a função de relatório definida pelo cliente manipular totalmente a mensagem de depuração, de modo que nenhum relatório adicional seja necessário, a função deverá retornar TRUE. Quando a função retorna FALSE, _CrtDbgReport é chamado para gerar o relatório de depuração usando as configurações atuais para o tipo de relatório, modo e arquivo. Além disso, ao especificar o valor retornado _CrtDbgReport em returnValue, o aplicativo também poderá controlar se uma interrupção de depuração deverá ocorrer. Para obter uma descrição completa de como o relatório de depuração é configurado e gerado, consulte _CrtSetReportMode, _CrtSetReportFilee _CrtDbgReport.

Para obter mais informações sobre como usar outras funções de tempo de execução compatíveis com gancho e escrever suas próprias funções de gancho definidas pelo cliente, consulte Depurar função de gancho escrevendo.

Observação

Se o aplicativo for compilado com /clr e a função de relatório for chamada depois que o aplicativo tiver saído da principal, o CLR gerará uma exceção, caso a função de relatório chame alguma função do CRT.

Requisitos

Rotina Cabeçalho necessário
_CrtSetReportHook <crtdbg.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Somente versões de depuração de bibliotecas de tempo de execução C.

Confira também

Rotinas de depuração
_CrtGetReportHook