_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 );
où 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
, _CrtSetReportFile
et _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.