Funzioni hook per la creazione di rapporti

Le informazioni contenute in questo argomento sono valide per:

Edizione

Visual Basic

C#

F#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro, Premium e Ultimate

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Una funzione hook per la creazione di report, installata mediante _CrtSetReportHook, viene chiamata ogni volta che _CrtDbgReport genera un report di debug. È possibile utilizzare tale funzione, ad esempio, per filtrare i report in modo da concentrarsi su tipi specifici di allocazioni. Una funzione hook per la creazione di report deve avere un prototipo analogo al seguente:

int YourReportHook(int nRptType, char *szMsg, int *retVal);

Il puntatore che viene passato a _CrtSetReportHook è del tipo _CRT_REPORT_HOOK, come definito in CRTDBG.H:

typedef int (__cdecl *_CRT_REPORT_HOOK)(int, char *, int *);

Quando la libreria di runtime chiama la funzione hook, l'argomento nRptType contiene la categoria del report (_CRT_WARN, _CRT_ERROR o _CRT_ASSERT), szMsg contiene un puntatore a una stringa di messaggio di report completa e retVal specifica se _CrtDbgReport debba continuare la normale esecuzione dopo la generazione del report o avviare invece il debugger (se retVal ha valore zero l'esecuzione continua, se ha valore 1 viene avviato il debugger).

Se la funzione hook gestisce il messaggio in questione completamente, in modo che non sia necessario alcun report ulteriore, deve restituire TRUE. Se restituisce FALSE, _CrtDbgReport visualizzerà il messaggio normalmente.

Vedere anche

Attività

Esempio crt_dbg2: funzioni hook di debug del runtime del linguaggio C

Altre risorse

Scrittura di funzioni hook di debug