_RPT, _RPTF, _RPTW, macro di _RPTFW
Tenere traccia dello stato di avanzamento di un'applicazione generazione di un report di debug (versione di debug solo).si noti che n specifica il numero di argomenti in args e possono essere 0, 1, 2, 3, 4, o 5.
_RPTn(
reportType,
format,
...[args]
);
_RPTFn(
reportType,
format,
[args]
);
_RPTWn(
reportType,
format
[args]
);
_RPTFWn(
reportType,
format
[args]
);
Parametri
reportType
Tipo di rapporto: _CRT_WARN, _CRT_ERROR, o _CRT_ASSERT.format
stringa del Formato-controllo utilizzata per creare il messaggio utente.args
Argomenti di sostituzione utilizzati da format.
Note
Tutte queste macro accettano reportTypee formatparametri.Inoltre, potrebbe anche essere a quattro argomenti aggiuntivi, significati il numero aggiunto al nome della macro.Ad esempio, _RPT0 e _RPTF0 non accetta argomenti aggiuntivi, _RPT1 e _RPTF1 controllo arg1, _RPT2 e _RPTF2 controllo arg1 e arg2, e così via.
_RPT e _RPTF le macro sono simili a printf funzione, in quanto possono essere utilizzate per tenere traccia dello stato di avanzamento di un'applicazione durante il processo di debug.tuttavia, queste macro sono più flessibili di printf poiché non devono essere racchiuse in #ifdef istruzioni per impedirne la essere chiamato in una build finale di un'applicazione.Questa flessibilità si ottiene utilizzando _DEBUG una macro; _RPT e _RPTF le macro sono disponibili solo quando _DEBUG il flag è definito.quando _DEBUG non è definito, le chiamate a queste macro vengono rimosse durante la pre-elaborazione.
_RPTW e _RPTFW le macro disponibili versioni a caratteri estesi di queste macro.Sono ad esempio wprintf e accettare le stringhe di caratteri estesi come argomenti.
_RPT le macro chiamano _CrtDbgReport utilizzare per generare un report di debug con un messaggio utente._RPTW le macro chiamano _CrtDbgReportW utilizzare per generare lo stesso rapporto con i caratteri di tipo " wide "._RPTF e _RPTFW le macro creare un report di debug al file di origine e il numero di riga in cui la macro del rapporto è stata chiamata, oltre al messaggio utente.Il messaggio utente viene creato sostituendo arg[nargomenti in] format stringa, utilizzando le stesse regole definite da printf funzione.
_CrtDbgReport o _CrtDbgReportW viene generato il report di debug e determina le relative destinazioni basate sulle modalità Report e nel file correnti specificati per reportType._CrtSetReportMode e _CrtSetReportFile le funzioni vengono utilizzate per definire le destinazioni per ogni tipo di rapporto.
se _RPT la macro viene chiamata e nessuno _CrtSetReportMode né _CrtSetReportFile è stato chiamato, i messaggi visualizzati come segue.
Tipo di rapporto |
destinazione di output |
---|---|
_CRT_WARN |
Il testo dell'avviso non verrà visualizzata. |
_CRT_ERROR |
una finestra popup.stessi come se _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); è stato specificato. |
_CRT_ASSERT |
Uguale a _CRT_ERROR. |
quando la destinazione è una finestra di messaggio di debug e l'utente sceglie tentativo pulsante, _CrtDbgReport o _CrtDbgReportW restituisce 1, in modo che queste macro di avviare il debugger, a condizione che il debug JIT (JIT) è abilitato.Per ulteriori informazioni sull'utilizzo di queste macro come meccanismo di gestione degli errori di debug, vedere Utilizzando le macro per la verifica e la creazione di rapporti.
Altre due macro esistenti che generano un report di debug._ASSERT la macro viene generato un rapporto, ma solo quando il relativo argomento dell'espressione ha valore FALSE._ASSERTE è esattamente come _ASSERT, ma include l'espressione non riuscita il rapporto generato.
Requisiti
Macro |
Intestazione di associazione |
---|---|
_RPT macro |
<crtdbg.h> |
_RPTF macro |
<crtdbg.h> |
_RPTW macro |
<crtdbg.h> |
_RPTFW macro |
<crtdbg.h> |
Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.
Librerie
versioni di debug di Librerie di runtime del linguaggio C solo.
Sebbene queste siano le macro e vengano ottenute includendo Crtdbg.h, l'applicazione deve collegarsi a una delle librerie di debug perché queste macro chiamano altre funzioni di runtime.
Esempio
vedere l'esempio in _ASSERT argomento.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.