_CrtSetReportHook
Installa la funzione per la creazione di report definita dal client per eseguire l'hook nel processo di creazione di report sul debug del runtime di C (solo versione di debug).
Sintassi
_CRT_REPORT_HOOK _CrtSetReportHook(
_CRT_REPORT_HOOK reportHook
);
Parametri
reportHook
Nuova funzione per la creazione di report definita dal client per eseguire l'hook nel processo di creazione di report sul debug del runtime di C.
Valore restituito
Restituisce la funzione per la creazione di report precedente definita dal client.
Osservazioni:
_CrtSetReportHook
consente a un'applicazione di usare la propria funzione per la creazione di report nel processo di creazione di report sulla libreria di debug del runtime di C. Di conseguenza, ogni volta che _CrtDbgReport
viene chiamato per generare un report di debug, viene chiamata prima la funzione di creazione di report dell'applicazione. Questa funzionalità abilita un'applicazione a eseguire operazioni, ad esempio il filtraggio di report di debug, in modo che possa usare solo i tipi specifici di allocazioni o inviare un report a destinazioni non disponibili tramite _CrtDbgReport
. Quando _DEBUG
non è definito, le chiamate a _CrtSetReportHook
vengono rimosse durante la pre-elaborazione.
Per una versione più affidabile di _CrtSetReportHook
, vedere _CrtSetReportHook2
.
La funzione _CrtSetReportHook
installa la nuova funzione per la creazione di report definita dal client specificata in reportHook
e restituisce l'hook precedente definito dal client. L'esempio seguente illustra come un hook di report definito dal client debba avere un prototipo:
int YourReportHook( int reportType, char *message, int *returnValue );
dove reportType
è il tipo di report di debug (_CRT_WARN
, _CRT_ERROR
, o _CRT_ASSERT
), message
è il messaggio utente di debug completamente assemblato per essere incluso nel report e returnValue
è il valore specificato dalla funzione per la creazione di report definita dal client che deve essere restituito dalla funzione _CrtDbgReport
. Per una descrizione completa dei tipi di report disponibili, vedere la _CrtSetReportMode
funzione .
Se la funzione per la creazione di report definita dal client gestisce completamente il messaggio di debug in modo che non sia necessario alcun report aggiuntivo, la funzione deve restituire TRUE
. Quando la funzione restituisce FALSE
, viene chiamato _CrtDbgReport
per generare il report di debug usando le impostazioni correnti per tipo di report, modalità e file. In aggiunta, specificando il valore restituito _CrtDbgReport
in returnValue
, l'applicazione può anche controllare se si verifica un'interruzione di debug. Per una descrizione completa della configurazione e della generazione del report di debug, vedere _CrtSetReportMode
, _CrtSetReportFile
e _CrtDbgReport
.
Per altre informazioni sull'uso di altre funzioni di runtime che supportano hook e sulla scrittura di funzioni hook definite dal client personalizzate, vedere Eseguire il debug della funzione hook scrittura.
Nota
Se l'applicazione viene compilata con /clr e la funzione di creazione di report viene chiamata dopo la chiusura dell'applicazione main, CLR genererà un'eccezione se la funzione di creazione di report chiama funzioni CRT.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
_CrtSetReportHook |
<crtdbg.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie
Solo le versioni di debug delle librerie di runtime di C.