_CrtSetReportMode
Określa docelowy lub miejsc docelowych dla typu określonego raportu generowanych przez _CrtDbgReport i makr, które wywołują _CrtDbgReport, _CrtDbgReportW, takich jak _ASSERT, _ASSERTE makr, _ASSERT, _ASSERTE makr, _RPT, _RPTF, _RPTW, _RPTFW makr, i _RPT, _RPTF, _RPTW, _RPTFW makr (tylko wersja debugowania).
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametry
reportType
Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.reportMode
Nowy tryb raportu lub tryby reportType.
Wartość zwracana
Po pomyślnym zakończeniu _CrtSetReportMode zwraca poprzedni raport tryb lub tryby dla typu raportu określonego w reportType.Jeśli określono nieprawidłową wartość jest przekazywana jako reportType lub określono nieprawidłowy tryb dla reportMode, _CrtSetReportMode wywołuje program obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ta funkcja ustawia errno do EINVAL i zwraca wartość -1.Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlist i _sys_nerr.
Uwagi
_CrtSetReportModeOkreśla urządzenie docelowe wyjścia dla _CrtDbgReport.Ponieważ makra _ASSERT, _ASSERTE, _RPT, i _RPTF wywołania _CrtDbgReport, _CrtSetReportMode określa urządzenie docelowe wyjścia tekstu określonego przy użyciu tych makr.
Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtSetReportMode są usuwane w czasie wstępnego przetwarzania.
Jeśli nie wywoła _CrtSetReportMode do definiowania urządzenie docelowe wyjścia wiadomości, następnie następujące parametry domyślne są w efekcie:
Potwierdzenia błędy i błędy są kierowane do okna komunikatu debugowania.
Ostrzeżenia z aplikacji systemu Windows są wysyłane do okna Debuggera w danych wyjściowych.
Nie są wyświetlane ostrzeżenia z aplikacji konsoli.
Poniższa lista zawiera typy raportów, określonych 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 |
Niepowodzeń potwierdzenia (dochodzone wyrażenia, których wynikiem może być FALSE). |
_CrtSetReportMode Funkcja przypisuje nowy tryb sprawozdania określone w reportMode do typu raportu określonego w reportType i zwraca tryb wcześniej zdefiniowanych raportu dla reportType.W poniższej tabeli przedstawiono dostępne opcje dla reportMode i Wynikowe zachowanie _CrtDbgReport.Opcje te są zdefiniowane jako flag bitowych w Crtdbg.h.
Tryb raportu |
_CrtDbgReport zachowanie |
---|---|
_CRTDBG_MODE_DEBUG |
Zapisuje wiadomość okno danych wyjściowych debugera. |
_CRTDBG_MODE_FILE |
Zapisuje wiadomość dojścia do pliku dostarczone przez użytkownika._CrtSetReportFilenależy wywołać do definiowania określonego pliku lub strumienia 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 wcale.Dlatego jest możliwe jest więcej niż jeden docelowy zdefiniowanego dla typu pojedynczy raport.Na przykład, następujący fragment kodu powoduje niepowodzeń potwierdzenia do wysłania do obu okno komunikatu debugowania i stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Ponadto raportowania trybu lub tryby dla każdego typu raportu może być oddzielnie kontrolowane.Na przykład określić, że możliwe jest 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 komunikatu debugowania i wysyłane do stderr, jak wcześniej ilustrowane.
Wymagania
Rozpoczęto wykonywanie procedury |
Wymaganego nagłówka |
Opcjonalne nagłówka |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Informacji dotyczących zgodności, zobacz Zgodność we wprowadzeniu.
Biblioteki: debugowania wersje Funkcje biblioteki CRT tylko.
Przykład
See report.
Odpowiednik w programie .NET Framework
Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Platforma wywołać przykłady.