Udostępnij za pośrednictwem


_CrtSetReportMode

Określa miejsce docelowe lub miejsc docelowych dla typu określonego raportu generowanych przez _CrtDbgReport i makr, które wywołują _CrtDbgReport, _CrtDbgReportW, takich jak _ASSERT, _ASSERTE — Makra, _ASSERT, _ASSERTE — Makra, _RPT, _RPTF, _RPTW, _RPTFW — Makra, i _RPT, _RPTF, _RPTW, _RPTFW — Makra (tylko wersja debugowania).

int _CrtSetReportMode( 
   int reportType,
   int reportMode 
);

Parametry

  • reportType
    Typ raportu: _CRT_WARN, _CRT_ERROR, i _CRT_ASSERT.

  • reportMode
    Nowy tryb raportu lub tryby reportType.

Wartość zwracana

Po pomyślnym zakończeniu _CrtSetReportMode zwraca poprzedni tryb raportu lub tryby dla typu raportu określona w reportType.Jeśli nieprawidłową wartość jest przekazywana jako reportType lub określono nieprawidłowy tryb dla reportMode, _CrtSetReportMode wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, funkcja ta ustawia errno jako EINVAL i zwraca -1.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist, and _sys_nerr.

Uwagi

_CrtSetReportModeOkreśla miejsce docelowe danych wyjściowych dla _CrtDbgReport.Ponieważ makra _ASSERT, _ASSERTE, _RPT, i _RPTF call _CrtDbgReport, _CrtSetReportMode określa urządzenie docelowe wyjścia tekstu określonego przy użyciu tych makr.

Gdy _DEBUG nie jest zdefiniowany, wywołania _CrtSetReportMode są usuwane podczas przetwarzania wstępnego.

Jeśli nie zostanie wywołana _CrtSetReportMode do definiowania urządzenie docelowe wyjścia wiadomości, następnie następujące wartości domyślne są w efekcie:

  • Twierdzenie awarii i błędów są skierowane do okna komunikatów debugowania.

  • Ostrzeżenia z aplikacji systemu Windows są wysyłane do debugera okna dane wyjściowe.

  • Ostrzeżenia z aplikacji konsoli nie są wyświetlane.

Poniższa tabela zawiera listę typów raportów zdefiniowanych w Crtdbg.h.

Typ raportu

Opis

_CRT_WARN

Ostrzeżenia, wiadomości i informacje, które nie wymagają natychmiastowej uwagi.

_CRT_ERROR

Błędy, nieodwracalnych problemów i zagadnień, które wymagają natychmiastowej uwagi.

_CRT_ASSERT

Awarie potwierdzenia (potwierdzone wyrażeń, których wynikiem może być FALSE).

_CrtSetReportMode Funkcja przypisuje nowy tryb raportu, określona w reportMode do typu raportu określonego w reportType i zwraca tryb uprzednio zdefiniowanych raportów dla reportType.W poniższej tabeli przedstawiono dostępne opcje dla reportMode i wynikowe zachowanie _CrtDbgReport.Opcje te są zdefiniowane jako flaga bitowych w Crtdbg.h.

Tryb raportu

_CrtDbgReport zachowanie

_CRTDBG_MODE_DEBUG

Zapisuje wiadomość do okna Debuggera w danych wyjściowych.

_CRTDBG_MODE_FILE

Zapisuje wiadomość do dojścia do pliku dostarczane przez użytkownika._CrtSetReportFilepowinna być wywoływana w celu zdefiniowania określonego pliku lub strumienia do wykorzystania jako miejsce docelowe.

_CRTDBG_MODE_WNDW

Tworzy okno komunikatu, aby wyświetlić wiadomość wraz z Abort, Retry, i Ignore przyciski.

_CRTDBG_REPORT_MODE

Zwraca reportMode dla określonego reportType:

1   _CRTDBG_MODE_FILE

2   _CRTDBG_MODE_DEBUG

4   _CRTDBG_MODE_WNDW

Każdy typ raportu mogą być zgłaszane przy użyciu jednego, dwóch lub trzech tryby albo żaden w ogóle.Dlatego też można mieć więcej niż jednego miejsca docelowego zdefiniowanego dla typu pojedynczy raport.Na przykład, poniższy fragment kodu powoduje awarie potwierdzenia przesyła się do obu okna komunikatów debugowania i do stderr:

_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );

Ponadto tryb raportowania lub tryby dla każdego typu raportu można oddzielnie sterować.Na przykład, istnieje możliwość określić, że reportType z _CRT_WARN być wysyłane na ciąg debugowania danych wyjściowych, podczas gdy _CRT_ASSERT być wyświetlane przy użyciu okna komunikatów debugowania i wysyłane do stderr, jak wcześniej przedstawione.

Wymagania

Procedura

Wymagany nagłówek

Opcjonalny nagłówek

_CrtSetReportMode

<crtdbg.h>

<errno.h>

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

Biblioteki: Tylko wersja debugowania Biblioteka CRT — Funkcje.

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łań platformy.

Zobacz też

Informacje

Procedury debugowania