_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.