_CrtSetReportMode
Určuje cíl nebo cíle pro konkrétní typ sestavy vygenerované _CrtDbgReport
a všechna makra, která volají _CrtDbgReport
, _CrtDbgReportW
například _ASSERT
, _ASSERTE
_ASSERT_EXPR
makra a _RPTF
_RPT
, _RPTW
_RPTFW
makra (pouze ladicí verze).
Syntaxe
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametry
reportType
Typ sestavy: _CRT_WARN
, _CRT_ERROR
a _CRT_ASSERT
.
reportMode
Nový režim sestavy nebo režimy pro reportType
.
Vrácená hodnota
Po úspěšném dokončení _CrtSetReportMode
vrátí předchozí režim sestavy nebo režimy pro typ sestavy zadaný v reportType
. Pokud je zadána neplatná hodnota jako reportType
nebo je zadán reportMode
neplatný režim , _CrtSetReportMode
vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, tato funkce nastaví errno
EINVAL
hodnotu -1 a vrátí hodnotu -1. Další informace naleznete v tématu errno
, _doserrno
, _sys_errlist
a _sys_nerr
.
Poznámky
_CrtSetReportMode
určuje výstupní cíl pro _CrtDbgReport
. Vzhledem k tomu, že makra _ASSERT
, _ASSERTE
, _RPT
a _RPTF
volání _CrtDbgReport
, _CrtSetReportMode
určuje výstupní cíl textu zadaný těmito makry.
Pokud _DEBUG
není definováno, volání, která _CrtSetReportMode
se mají odebrat během předběžného zpracování.
Pokud nevoláte _CrtSetReportMode
, abyste definovali výstupní cíl zpráv, platí následující výchozí hodnoty:
Chyby kontrolního výrazu a chyby jsou směrovány do okna zprávy ladění.
Upozornění z aplikací systému Windows se odesílají do okna výstupu ladicího programu.
Upozornění z konzolových aplikací se nezobrazují.
Následující tabulka obsahuje seznam typů sestav definovaných v Crtdbg.h
.
Typ sestavy | Popis |
---|---|
_CRT_WARN |
Upozornění, zprávy a informace, které nevyžadují okamžitou pozornost. |
_CRT_ERROR |
Chyby, neopravitelné problémy a problémy, které vyžadují okamžitou pozornost. |
_CRT_ASSERT |
Selhání kontrolních výrazů (asserted expressions, které se vyhodnocují jako FALSE ). |
Funkce _CrtSetReportMode
přiřadí nový režim sestavy zadaný reportMode
v typu reportType
sestavy a vrátí dříve definovaný režim sestavy pro reportType
. Následující tabulka uvádí dostupné volby pro reportMode
a výsledné chování _CrtDbgReport
. Tyto možnosti jsou definovány jako příznaky bitů v Crtdbg.h.
Režim sestavy | chování _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
Zapíše zprávu do výstupního okna ladicího programu. |
_CRTDBG_MODE_FILE |
Zapíše zprávu do popisovače souboru zadaného uživatelem. _CrtSetReportFile musí být volána k definování konkrétního souboru nebo datového proudu, který se má použít jako cíl. |
_CRTDBG_MODE_WNDW |
Vytvoří okno se zprávou pro zobrazení zprávy spolu s tlačítky Přerušit, Opakovat a Ignorovat . |
_CRTDBG_REPORT_MODE |
Vrátí reportMode pro zadanou reportType hodnotu:1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Každý typ sestavy lze hlásit pomocí jednoho, dvou nebo tří režimů nebo žádný režim vůbec. Proto je možné mít pro jeden typ sestavy definovaných více než jeden cíl. Následující fragment kódu například způsobí odeslání kontrolních výrazů do okna zprávy ladění i do stderr
:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Kromě toho můžete řídit režim generování sestav nebo režimy pro každý typ sestavy samostatně. Je například možné určit, že určitý reportType
z těchto _CRT_WARN
kroků přejde do výstupního ladicího řetězce, zatímco _CRT_ASSERT
se zobrazí pomocí okna zprávy ladění a odešle se do stderr
souboru , jak je znázorněno dříve.
Požadavky
Rutina | Požadovaný hlavičkový soubor | Volitelné záhlaví |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny: Ladění verzí pouze knihoven modulu runtime jazyka C.