_CrtSetReportMode
Specifica la destinazione o destinazioni di un tipo di report specifico generato da _CrtDbgReport e qualsiasi macro che chiamano _CrtDbgReport, _CrtDbgReportW, ad esempio _ASSERT, macro di _ASSERTE, _ASSERT, macro di _ASSERTE, _RPT, _RPTF, _RPTW, macro di _RPTFWe _RPT, _RPTF, _RPTW, macro di _RPTFW (versione di debug solo).
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametri
reportType
Tipo di rapporto: _CRT_WARN, _CRT_ERRORe _CRT_ASSERT.reportMode
nuova modalità Report o modalità per reportType.
Valore restituito
Al termine, _CrtSetReportMode restituisce la modalità Report o modalità precedente per il tipo di report specificato in reportType.Se un valore non valido viene passato come reportType o una modalità non valida viene specificata per reportMode, _CrtSetReportMode richiama il gestore non valido di parametro come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, set di questa funzione errno in EINVAL e restituisce -1.Per ulteriori informazioni, vedere errno, _doserrno, _sys_errlist e _sys_nerr.
Note
_CrtSetReportMode specifica la destinazione di output per _CrtDbgReport.Poiché le macro _ASSERT, _ASSERTE, _RPTe _RPTF chiamata _CrtDbgReport, _CrtSetReportMode specifica la destinazione di output di testo specificata con tali macro.
quando _DEBUG non è definito, le chiamate a _CrtSetReportMode vengono ignorati durante la pre-elaborazione.
Se non si chiama _CrtSetReportMode per definire la destinazione di output dei messaggi, quindi le seguenti impostazioni predefinite sono in effetti:
Gli errori di asserzione e gli errori vengono indirizzati a una finestra di messaggio di debug.
Gli avvisi dalle applicazioni Windows vengono inviati alla finestra di output del debugger.
Gli avvisi dalle applicazioni console non vengono visualizzati.
Nella tabella seguente sono elencati i tipi di rapporti definiti in Crtdbg.h.
Tipo di rapporto |
Descrizione |
---|---|
_CRT_WARN |
Avvisi, messaggi e informazioni che non richiedono dell'attenzione immediata. |
_CRT_ERROR |
Errori, problemi irreversibili e problemi che richiedono attenzione immediata. |
_CRT_ASSERT |
Errori di asserzione (espressioni effettua un'asserzione a cui valutare FALSE). |
_CrtSetReportMode la funzione assegna la nuova modalità Report specificato in reportMode il tipo di report specificato in reportType e restituisce la modalità Report definiti in precedenza per reportType.Nella tabella seguente sono elencate le opzioni disponibili per reportMode e il comportamento risultante _CrtDbgReport.Queste opzioni sono definite come flag di bit in Crtdbg.h.
modalità Report |
comportamento di _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
Scrivere il messaggio nella finestra di output del debugger. |
_CRTDBG_MODE_FILE |
Scrivere il messaggio a un handle di file fornite dall'utente._CrtSetReportFile deve essere chiamato per definire il file o un flusso specifico da utilizzare come destinazione. |
_CRTDBG_MODE_WNDW |
Viene creata una finestra di messaggio per visualizzare il messaggio con Abort, Retrye Ignore pulsanti. |
_CRTDBG_REPORT_MODE |
Restituisce reportMode per specificato reportType: 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Ogni tipo di rapporto può essere segnalata utilizzando uno, due, o tre modalità o di alcuna modalità affatto.Di conseguenza, è possibile avere più di un oggetto di destinazione per un singolo tipo di rapporto.Ad esempio, il frammento di codice riportato di seguito provoca errori di asserzione dell'invio sia a una finestra di messaggio di debug che a stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Inoltre, la modalità di creazione rapporti o le modalità per ogni tipo di rapporto può essere controllata separatamente.Ad esempio, è possibile specificare che a reportType di _CRT_WARN inviato a una stringa di output di debug, mentre _CRT_ASSERT visualizzati utilizzando una finestra di messaggio di debug e stato inviato a stderr, come illustrato in precedenza.
Requisiti
routine |
Intestazione di associazione |
intestazione facoltativa |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
raccolte: versioni di debug di Funzionalità della libreria CRT solo.
Esempio
Vedere report.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di platform invoke.