Partager via


_CrtSetReportHook

Installe une fonction de création de rapports définie par le client en la raccordant au processus de création de rapports de débogage du runtime C (version de débogage uniquement).

Syntaxe

_CRT_REPORT_HOOK _CrtSetReportHook(
   _CRT_REPORT_HOOK reportHook
);

Paramètres

reportHook
Nouvelle fonction de création de rapports définie par le client à raccorder au processus de création de rapports de débogage du runtime C.

Valeur retournée

Retourne la fonction de création de rapports précédente définie par le client.

Notes

_CrtSetReportHook permet à une application d’utiliser sa propre fonction de création de rapports dans le processus de création de rapports de bibliothèque de débogage runtime C. Par conséquent, chaque fois qu’il _CrtDbgReport est appelé pour générer un rapport de débogage, la fonction de création de rapports de l’application est appelée en premier. Grâce à cette fonctionnalité, une application peut effectuer des opérations telles que le filtrage des rapports de débogage afin de se concentrer sur des types d’allocation spécifiques ou d’envoyer un rapport à des destinations non disponibles à l’aide de _CrtDbgReport. Quand _DEBUG n’est pas défini, les appels à _CrtSetReportHook sont supprimés lors du prétraitement.

Pour obtenir une version plus robuste de _CrtSetReportHook, consultez _CrtSetReportHook2.

La fonction _CrtSetReportHook installe la nouvelle fonction de création de rapports définie par le client spécifiée dans reportHook et retourne le raccordement précédent défini par le client. L’exemple suivant montre comment un raccordement de rapport défini par le client doit être prototypé :

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

reportType est le type de rapport de débogage (_CRT_WARN, _CRT_ERROR ou _CRT_ASSERT), message le message utilisateur de débogage entièrement assemblé à inclure dans le rapport, et returnValue la valeur spécifiée par la fonction de création de rapports définie par le client qui doit être retournée par _CrtDbgReport. Pour obtenir une description complète des types de rapports disponibles, consultez la _CrtSetReportMode fonction.

Si la fonction de création de rapports définie par le client gère intégralement le message de débogage sans nécessiter de création de rapports supplémentaires, la fonction doit retourner TRUE. Quand la fonction retourne FALSE, _CrtDbgReport est appelé pour générer le rapport de débogage à l’aide des paramètres actuels pour le type de rapport, le mode et le fichier. En outre, en spécifiant la valeur de retour _CrtDbgReport dans returnValue, l’application peut également contrôler si une interruption de débogage se produit. Pour obtenir une description complète de la façon dont le rapport de débogage est configuré et généré, consultez _CrtSetReportMode, _CrtSetReportFileet _CrtDbgReport.

Pour plus d’informations sur l’utilisation d’autres fonctions d’exécution compatibles avec le hook et l’écriture de vos propres fonctions de hook définies par le client, consultez l’écriture de la fonction de raccordement de débogage.

Remarque

Si votre application est compilée avec /clr et que la fonction de création de rapports est appelée une fois l’application terminée principale, le CLR lève une exception si la fonction de création de rapports appelle des fonctions CRT.

Spécifications

Routine En-tête requis
_CrtSetReportHook <crtdbg.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Uniquement les versions de débogage des bibliothèques Runtime C.

Voir aussi

Routines de débogage
_CrtGetReportHook