Sdílet prostřednictvím


_CrtSetReportMode

Určuje cíl nebo cíle pro typ konkrétní sestavy generované _CrtDbgReport a volání makra _CrtDbgReport, _CrtDbgReportW, jako _ASSERT, _ASSERTE – makra, _ASSERT, _ASSERTE – makra, _RPT, _RPTF, _RPTW, _RPTFW – makra, a _RPT, _RPTF, _RPTW, _RPTFW – makra (pouze ladicí verzi).

int _CrtSetReportMode( 
   int reportType,
   int reportMode 
);

Parametry

  • reportType
    Typ sestavy: _CRT_WARN, _CRT_ERROR a _CRT_ASSERT.

  • reportMode
    Nová sestava režim nebo režimy pro reportType.

Vrácená hodnota

Po úspěšném ukončení _CrtSetReportMode vrátí předchozí sestavě režim nebo režimy pro zadaný typ sestavy v reportType.Pokud je předána neplatná hodnota jako reportType nebo neplatný režim je určen pro reportMode, _CrtSetReportMode vyvolá neplatný parametr obslužné rutiny, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, tato funkce nastaví errno na EINVAL a vrátí -1.Další informace naleznete v tématu errno, _doserrno, _sys_errlist, and _sys_nerr.

Poznámky

_CrtSetReportModeUrčuje cíl výstupu pro _CrtDbgReport.Protože makra _ASSERT, _ASSERTE, _RPT, a _RPTF volat _CrtDbgReport, _CrtSetReportMode Určuje cíl výstupu na text zadaný pomocí makra.

Když _DEBUG není definován, jsou volání do _CrtSetReportMode odstraněna během předběžného zpracování.

Pokud nezavoláte _CrtSetReportMode definovat cíl výstupu zpráv, pak následující výchozí hodnoty jsou ve skutečnosti:

  • Chyby a selhání výrazu jsou směrováni na okno zprávy ladění.

  • Upozornění z aplikace systému Windows jsou odesílány do okna výstup ladicího programu.

  • Upozornění z aplikace konzoly nebudou zobrazeny.

V následující tabulce jsou uvedeny typy sestav, které jsou definovány v Crtdbg.h.

Typ sestavy

Description

_CRT_WARN

Upozornění, zprávy a informace, které nevyžaduje okamžitou pozornost.

_CRT_ERROR

Chyby, neodstranitelné chyby a problémy, které vyžadují okamžitou pozornost.

_CRT_ASSERT

Selhání výrazu (uplatněna výrazy, které vedou k FALSE).

_CrtSetReportMode Funkce přiřadí nový režim sestavy podle reportMode na typ sestavy podle reportType a vrátí režim dříve definované sestavy pro reportType.Následující tabulka uvádí dostupné možnosti pro reportMode a výsledné chování _CrtDbgReport.Tyto možnosti jsou definovány jako bitové příznaky v souboru Crtdbg.h.

Režim sestavy

_CrtDbgReport chování

_CRTDBG_MODE_DEBUG

Zapisuje zprávu do okna výstup ladicího programu.

_CRTDBG_MODE_FILE

Zapisuje zprávu popisovač souboru zadané uživatelem._CrtSetReportFileby měla být volána k definování konkrétní soubor nebo datový proud použít jako cíl.

_CRTDBG_MODE_WNDW

Vytvoří okno se zprávou zobrazí zprávu spolu s Abort, Retry, a Ignore tlačítka.

_CRTDBG_REPORT_MODE

Vrátí reportMode pro zadaný reportType:

1   _CRTDBG_MODE_FILE

2   _CRTDBG_MODE_DEBUG

4   _CRTDBG_MODE_WNDW

Každý typ sestavy mohou být zaznamenány pomocí jeden, dva nebo tři režimy nebo žádný vůbec.Proto je možné mít více než jeden cíl definován pro typ jediné zprávy.Například následující fragment kódu způsobí selhání výrazu obou ladicí okno zprávy a odeslat stderr:

_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );

Navíc zpravodajské režim nebo režimy pro každý typ zprávy lze samostatně ovládat.Je například možné určit, že reportType z _CRT_WARN být odeslán výstupní řetězec ladění, zatímco _CRT_ASSERT se zobrazí okno zprávy ladění pomocí a zaslána stderr, jako dříve ukázáno.

Požadavky

Rutina

Požadované záhlaví

Volitelné záhlaví

_CrtSetReportMode

<crtdbg.h>

<errno.h>

Další informace o kompatibilitě naleznete v úvodu tématu Kompatibilita.

Knihovny: Pouze verze ladění knihoven Funkce knihovny CRT.

Ekvivalent v rozhraní .NET Framework

Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.

Viz také

Referenční dokumentace

Rutiny ladění