_CrtSetReportHook
Nainstaluje funkci generování sestav definovanou klientem tak, že ji připojíte k procesu generování sestav za běhu jazyka C (pouze ladicí verze).
Syntaxe
_CRT_REPORT_HOOK _CrtSetReportHook(
_CRT_REPORT_HOOK reportHook
);
Parametry
reportHook
Nová klientem definovaná funkce generování sestav, která se připojí k procesu generování sestav za běhu jazyka C.
Vrácená hodnota
Vrátí předchozí funkci generování sestav definovanou klientem.
Poznámky
_CrtSetReportHook
umožňuje aplikaci používat vlastní funkci generování sestav do procesu generování sestav knihovny runtime jazyka C. V důsledku toho se funkce _CrtDbgReport
generování sestavy generování sestavy aplikace volá jako první. Tato funkce umožňuje aplikaci provádět operace, jako je filtrování sestav ladění, aby se mohla zaměřit na konkrétní typy přidělení nebo odeslat sestavu do cílů, které nejsou dostupné pomocí _CrtDbgReport
. Pokud _DEBUG
není definováno, volání, která _CrtSetReportHook
se mají odebrat během předběžného zpracování.
Robustnější verzi _CrtSetReportHook
naleznete v tématu _CrtSetReportHook2
.
Funkce _CrtSetReportHook
nainstaluje novou funkci generování sestav definovanou klientem a reportHook
vrátí předchozí háček definovaný klientem. Následující příklad ukazuje, jak by se měl vytvořit prototyp háku sestavy definovaného klientem:
int YourReportHook( int reportType, char *message, int *returnValue );
kde reportType
je typ sestavy ladění (_CRT_WARN
, _CRT_ERROR
nebo _CRT_ASSERT
), message
je plně sestavená zpráva uživatele ladění, která má být obsažena v sestavě, a returnValue
je hodnota určená klientem definovanou funkcí generování sestav, která by měla být vrácena _CrtDbgReport
. Úplný popis dostupných typů sestav najdete v _CrtSetReportMode
této funkci.
Pokud klientem definovaná funkce generování sestav zcela zpracovává ladicí zprávu tak, aby se nevyžaduje žádné další generování sestav, měla by funkce vrátit TRUE
. Když funkce vrátí FALSE
, _CrtDbgReport
je volána k vygenerování ladicí sestavy pomocí aktuálního nastavení pro typ sestavy, režim a soubor. Kromě toho zadáním návratové _CrtDbgReport
hodnoty v returnValue
aplikaci může také řídit, zda dojde k přerušení ladění. Úplný popis konfigurace a vygenerování sestavy ladění naleznete v tématu _CrtSetReportMode
, _CrtSetReportFile
a _CrtDbgReport
.
Další informace o používání dalších funkcí za běhu podporujících háky a psaní vlastních funkcí háku definovaných klientem najdete v tématu Psaní funkce háku ladění.
Poznámka:
Pokud je vaše aplikace zkompilována pomocí /clr a funkce generování sestav je volána po ukončení hlavní aplikace, CLR vyvolá výjimku, pokud funkce generování sestav volá některé funkce CRT.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_CrtSetReportHook |
<crtdbg.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Ladění pouze verzí knihoven runtime jazyka C.