Sdílet prostřednictvím


_RPT, , _RPTF_RPTW, _RPTFW makra

Sleduje průběh aplikace generováním sestavy ladění (pouze ladicí verze). Přípona n určuje počet argumentů v argsargumentu a může být 0, 1, 2, 3, 4 nebo 5.

Syntaxe

_RPTn(
   reportType,
   format,
   ...[args]
);
_RPTFn(
   reportType,
   format,
   [args]
);
_RPTWn(
   reportType,
   format
   [args]
);
_RPTFWn(
   reportType,
   format
   [args]
);

Parametry

reportType
Typ sestavy: _CRT_WARN, _CRT_ERRORnebo _CRT_ASSERT.

format
Formátovací řetězec použitý k vytvoření zprávy uživatele.

args
Argumenty nahrazení používané .format

Poznámky

Všechna tato makra přebírají reportType parametry.format Kromě toho můžou také trvat až čtyři další argumenty, které označuje číslo připojené k názvu makra. Například_RPT0, a _RPTF0 vzít žádné další argumenty, _RPT1_RPTF1 vzít _RPT2arg1a _RPTF2 vzít arg1 a arg2atd.

Makra _RPT a _RPTF makra jsou podobné printf funkci, protože je možné je použít ke sledování průběhu aplikace během procesu ladění. Tato makra jsou ale flexibilnější než printf proto, že není nutné je uzavřít do příkazů #ifdef , aby se zabránilo jejich zavolání v maloobchodním buildu aplikace. Tato flexibilita se dosahuje pomocí _DEBUG makra. Makra _RPT jsou _RPTF k dispozici pouze v případě, že _DEBUG je definován příznak. Pokud _DEBUG není definováno, volání těchto maker se během předběžného zpracování odeberou.

Makra _RPTW jsou _RPTFW širokoznační verze těchto maker. Jsou jako argumenty a wprintf používají řetězce širokého znaku.

Makra _RPT volají _CrtDbgReport funkci, která vygeneruje sestavu ladění se zprávou uživatele. Makra _RPTW volají _CrtDbgReportW funkci, která vygeneruje stejnou sestavu se širokými znaky. _RPTFW Makra _RPTF vytvoří ladicí sestavu se zdrojovým souborem a číslem řádku, kde se makro sestavy volalo, a to kromě zprávy uživatele. Uživatelská zpráva je vytvořena nahrazením arg[n] argumentů do format řetězce pomocí stejných pravidel definovaných printf funkcí.

_CrtDbgReport nebo _CrtDbgReportW vygeneruje ladicí sestavu a určí její cíle na základě aktuálních režimů sestavy a souboru definovaného pro reportType. _CrtSetReportFile Funkce _CrtSetReportMode slouží k definování cílů pro každý typ sestavy.

_RPT Pokud je makro voláno a _CrtSetReportMode_CrtSetReportFile nebylo voláno, zprávy se zobrazí takto:

Typ sestavy Cíl výstupu
_CRT_WARN Text upozornění se nezobrazuje.
_CRT_ERROR Automaticky otevírané okno. Stejné jako v případě, že _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); bylo zadáno.
_CRT_ASSERT Stejné jako _CRT_ERROR.

Když je cílem okno zprávy ladění a uživatel zvolí tlačítko Opakovat , _CrtDbgReport nebo _CrtDbgReportW vrátí hodnotu 1. Tato návratová hodnota způsobí, že tato makra spustí ladicí program, pokud je povolené ladění za běhu (JIT). Další informace o použití těchto maker jako mechanismu zpracování chyb ladění najdete v tématu Makra pro vytváření sestav.

Existují dvě další makra, která generují sestavu ladění. Makro _ASSERT generuje sestavu, ale pouze při vyhodnocení argumentu výrazu FALSE. _ASSERTE je úplně stejný, _ASSERTale obsahuje výraz, který selhal ve vygenerované sestavě.

Požadavky

Makro Požadovaný hlavičkový soubor
_RPT Makra <crtdbg.h>
_RPTF Makra <crtdbg.h>
_RPTW Makra <crtdbg.h>
_RPTFW Makra <crtdbg.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Knihovny

Ladění pouze verzí knihoven runtime jazyka C.

I když jsou tato makra dostupná, když zahrnete crtdbg.h, aby bylo možné spustit, musí aplikace propojit s jednou z ladicích knihoven, protože tato makra volají další funkce za běhu.

Příklad

Podívejte se na příklad v _ASSERT článku.

Viz také

Rutiny ladění