Udostępnij za pośrednictwem


_CrtSetReportHook

Instaluje to funkcja raportowania zdefiniowana przez klienta przez podłączając ją do procesu raportowania debugowania wykonywania C (tylko wersja debugowania).

_CRT_REPORT_HOOK _CrtSetReportHook( 
   _CRT_REPORT_HOOK reportHook 
);

Parametry

  • reportHook
    Nowy klient raportowania funkcji zdefiniowanej do haka w czasie wykonywania C debugowanie procesu generowania raportów.

Wartość zwracana

Zwraca poprzedni klient zdefiniowanych funkcji raportowania.

Uwagi

_CrtSetReportHookumożliwia aplikacji należy użyć własnej funkcji raportowania do C biblioteki debugowania wykonywania procesu zgłaszania.W rezultacie, w każdym przypadku, gdy _CrtDbgReport nazywa się do generowania raportu debugowania, aplikacja raportowanie funkcja jest wywoływana po raz pierwszy.Ta funkcja umożliwia aplikacji do wykonywania operacji, takich jak filtrowanie debugowania raporty, więc może skupić się na typy szczególny przydział lub wysłać raport do miejsc docelowych, nie są dostępne za pomocą _CrtDbgReport.Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtSetReportHook są usuwane podczas przetwarzania wstępnego.

Wersja bardziej niezawodne dla _CrtSetReportHook, zobacz _CrtSetReportHook2.

_CrtSetReportHook Funkcja instaluje nowy klient zdefiniowanej zgłoszenie funkcja określonych w reportHook i zwraca poprzedni hak zdefiniowane przez klienta.Poniższy przykład ilustruje, jak powinna być prototypy hak raportu zdefiniowanej przez klienta:

int YourReportHook( int reportType, char *message, int *returnValue );

gdzie reportType jest typ raportu debugowania (_CRT_WARN, _CRT_ERROR, lub _CRT_ASSERT), message jest komunikat użytkownika zmontowanych debugowania mają być zawarte w sprawozdaniu, i returnValue na wartość określoną przez klienta zdefiniowane zgłasza funkcji, który powinien być zwrócony przez _CrtDbgReport.Aby uzyskać pełny opis typy dostępnych raportów, zobacz _CrtSetReportMode funkcji.

Jeśli funkcja raportowania zdefiniowana przez klienta obsługuje całkowicie wiadomość debugowania, takie, że nie dalsze zgłoszenie jest wymagane, wówczas funkcja powinna zwracać TRUE.Kiedy funkcja zwraca FALSE, _CrtDbgReport jest wywoływana w celu wygenerowania debugowania raportu przy użyciu bieżących ustawień typ raportu, tryb i pliku.Dodatkowo, określając _CrtDbgReport , zwracają wartość w returnValue, aplikacji można również kontrolować, czy występuje podział debugowania.Pełny opis jak skonfigurowany i wygenerowany raport debugowania, zobacz _CrtSetReportMode, _CrtSetReportFile, i _CrtDbgReport.

Aby uzyskać więcej informacji na temat używania innych hak zdolne do wykonywania funkcji i pisania własne zdefiniowane klienta hak funkcji, zobacz Pisanie debugowanie funkcji punktów zaczepienia.

[!UWAGA]

Jeśli aplikacja została skompilowana z /clr i funkcja raportowania jest wywoływana po aplikacji zakończył się głównym, CLR spowoduje zgłoszenie wyjątku, jeśli funkcja raportowania wywołuje żadnych funkcji CRT.

Wymagania

Procedura

Wymagany nagłówek

_CrtSetReportHook

<crtdbg.h>

Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność we Wstępie.

Biblioteki

Debuguj wersje wyłącznie Bibliotek uruchomieniowych C.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardową funkcję C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy.

Zobacz też

Informacje

Procedury debugowania

_CrtGetReportHook