Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Určuje cíl nebo cíle pro konkrétní typ sestavy vygenerované _CrtDbgReport a všechna makra, která volají _CrtDbgReport, _CrtDbgReportWnapří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_ERRORa _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 reportModeneplatný 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_errlista _sys_nerr.
Poznámky
_CrtSetReportMode určuje výstupní cíl pro _CrtDbgReport. Vzhledem k tomu, že makra _ASSERT, _ASSERTE, _RPTa _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 reportTypehodnotu:1 _CRTDBG_MODE_FILE2 _CRTDBG_MODE_DEBUG4 _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 stderrsouboru , 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.