Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Określa lokalizację docelową lub docelową dla określonego typu raportu wygenerowanego przez _CrtDbgReport program i wszelkie makra wywołujące _CrtDbgReport, takie _CrtDbgReportWjak _ASSERTE_ASSERT_EXPR_ASSERT, , makra i _RPT, _RPTF, _RPTFW _RPTWmakra (tylko wersja debugowania).
Składnia
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametry
reportType
Typ raportu: _CRT_WARN, _CRT_ERRORi _CRT_ASSERT.
reportMode
Nowy tryb lub tryby raportu dla programu reportType.
Wartość zwracana
Po pomyślnym zakończeniu _CrtSetReportMode zwraca poprzedni tryb raportu lub tryby dla typu raportu określonego w .reportType Jeśli nieprawidłowa wartość jest przekazywana jako reportType lub określono nieprawidłowy tryb dla reportModeprogramu , _CrtSetReportMode wywołuje nieprawidłową procedurę obsługi parametrów zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie może kontynuować, ta funkcja ustawia errno EINVAL wartość i zwraca wartość -1. Aby uzyskać więcej informacji, zobacz errno, _doserrno, _sys_errlisti _sys_nerr.
Uwagi
_CrtSetReportMode określa miejsce docelowe danych wyjściowych dla elementu _CrtDbgReport. Ponieważ makra _ASSERT, _ASSERTE, _RPTi _RPTF wywołają _CrtDbgReportmetodę , _CrtSetReportMode określa miejsce docelowe wyjściowe tekstu określonego przy użyciu tych makr.
Gdy _DEBUG nie jest zdefiniowana, wywołania do _CrtSetReportMode są usuwane podczas przetwarzania wstępnego.
Jeśli nie wywołasz metody _CrtSetReportMode w celu zdefiniowania miejsca docelowego danych wyjściowych komunikatów, obowiązują następujące wartości domyślne:
Błędy potwierdzeń są kierowane do okna komunikatów debugowania.
Ostrzeżenia z aplikacji systemu Windows są wysyłane do okna danych wyjściowych debugera.
Ostrzeżenia z aplikacji konsolowych nie są wyświetlane.
W poniższej tabeli wymieniono typy raportów zdefiniowane w pliku Crtdbg.h.
| Typ raportu | opis |
|---|---|
_CRT_WARN |
Ostrzeżenia, komunikaty i informacje, które nie wymagają natychmiastowej uwagi. |
_CRT_ERROR |
Błędy, nieodwracalne problemy i kwestie, które wymagają natychmiastowej uwagi. |
_CRT_ASSERT |
Błędy asercji (wyrażenia asercji, które oceniają wartość ).FALSE |
Funkcja _CrtSetReportMode przypisuje nowy tryb raportu określony w programie do typu raportu określonego w reportMode reportType pliku i zwraca wcześniej zdefiniowany tryb raportu dla elementu reportType. W poniższej tabeli wymieniono dostępne opcje i reportMode wynikowe zachowanie klasy _CrtDbgReport. Te opcje są definiowane jako flagi bitowe w pliku Crtdbg.h.
| Tryb raportu | Zachowanie funkcji _CrtDbgReport |
|---|---|
_CRTDBG_MODE_DEBUG |
Zapisywanie komunikatu w oknie danych wyjściowych debugera. |
_CRTDBG_MODE_FILE |
Zapisywanie komunikatu w dojściu do pliku wskazanym przez użytkownika. _CrtSetReportFile Należy wywołać wywołanie w celu zdefiniowania określonego pliku lub strumienia do użycia jako miejsca docelowego. |
_CRTDBG_MODE_WNDW |
Tworzy okno komunikatu, aby wyświetlić komunikat wraz z przyciskami Przerwij, Ponów próbę i Ignoruj . |
_CRTDBG_REPORT_MODE |
Zwraca reportMode wartość dla określonego reportTypeelementu :1 _CRTDBG_MODE_FILE2 _CRTDBG_MODE_DEBUG4 _CRTDBG_MODE_WNDW |
Każdy typ raportu może być przekazywany przy użyciu jednego, dwóch lub trzech trybów albo bez żadnego trybu. W związku z tym można mieć więcej niż jedno miejsce docelowe zdefiniowane dla jednego typu raportu. Na przykład następujący fragment kodu powoduje, że błędy asercji są wysyłane do okna komunikatu debugowania i do stderrelementu :
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Ponadto można kontrolować tryb raportowania lub tryby dla każdego typu raportu oddzielnie. Na przykład można określić, że element reportType _CRT_WARN z przechodzi do ciągu debugowania danych wyjściowych, podczas gdy _CRT_ASSERT jest wyświetlany przy użyciu okna komunikatu debugowania i jest wysyłany do stderrelementu , jak pokazano wcześniej.
Wymagania
| Procedura | Wymagany nagłówek | Opcjonalny nagłówek |
|---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Biblioteki: debugowanie tylko wersji bibliotek środowiska uruchomieniowego języka C.