Partager via


_CrtSetReportHook

Installe une fonction de rapport définie par le client en l'accrochant dans le processus de création de rapport de débogage runtime C (version debug uniquement).

_CRT_REPORT_HOOK _CrtSetReportHook( 
   _CRT_REPORT_HOOK reportHook 
);

Paramètres

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

Valeur de retour

Retourne la fonction de rapport définie par le client précédente.

Notes

_CrtSetReportHook permet à une application d'utiliser sa propre fonction de rapport dans le processus de création de rapports de bibliothèque de débogage du runtime C.Par conséquent, chaque fois que _CrtDbgReport est appelé pour générer un rapport de débogage, la fonction de rapport de l'application est d'abord appelée.Cette fonctionnalité permet à une application d'exécuter des opérations telles que le filtrage des rapports de débogage et afin de vous concentrer sur des types spécifiques d'allocation ou envoyer un rapport aux destinations pas disponibles à l'aide de _CrtDbgReport.Lorsque _DEBUG n'est pas défini, les appels à _CrtSetReportHook sont supprimés pendant le prétraitement.

Pour une version plus fiable d' _CrtSetReportHook, consultez _CrtSetReportHook2.

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

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 est le message utilisateur entièrement assemblé de débogage à inclure dans le rapport, et returnValue est la valeur définie par la fonction de rapport définie par le client qui doit être retournée par _CrtDbgReport.Pour une description complète des types disponibles d'état, consultez la fonction de _CrtSetReportMode .

Si la fonction de rapport définie par le client traite complètement le message de débogage tels qu'aucun rapport n'est requise, la fonction doit retourner TRUE.Lorsque la fonction retourne FALSE, _CrtDbgReport est appelé pour générer le rapport de débogage avec les paramètres actuels du type, le mode, et le fichier d'état.En outre, en spécifiant la valeur de retour d' _CrtDbgReport dans returnValue, l'application peut contrôler si un saut de débogage se produit.Pour plus d'informations sur la façon dont le rapport de débogage est configuré et construit, consultez _CrtSetReportMode, _CrtSetReportFile, et l' _CrtDbgReport.

Pour plus d'informations sur l'utilisation d'autres fonctions runtime raccordement-capables et écrire vos propres fonctions de raccordement définies par le client, consultez l' écrire vos propres fonctions de raccordement de débogage.

[!REMARQUE]

Si votre application est compilée avec /clr et une fonctionnalité de création de rapports est appelée après que l'application soit arrêtée main, le CLR lèvera une exception si les appels de fonctions de création de rapports que tout fonctions CRT.

Configuration requise

routine

en-tête requis

_CrtSetReportHook

<crtdbg.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

bibliothèques

Versions debug de Bibliothèques runtime C uniquement.

Exemple

Pour un exemple d'utilisation _CrtSetReportHook, consultez l' état.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Déboguez des routines

_CrtGetReportHook