Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica la destinazione o le destinazioni per un tipo di report specifico generato da _CrtDbgReport ed eventuali macro che chiamano _CrtDbgReport, _CrtDbgReportWad esempio_ASSERT , , _ASSERTE_ASSERT_EXPR macro e _RPT, _RPTF, _RPTW_RPTFW macro (solo versione di debug).
Sintassi
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parametri
reportType
Tipo di segnalazione: _CRT_WARN, _CRT_ERROR e _CRT_ASSERT.
reportMode
Nuova modalità di report o modalità per reportType.
Valore restituito
Al termine, _CrtSetReportMode restituisce la precedente o le precedenti modalità di report per il tipo di report specificato in reportType. Se viene passato un valore non valido come reportType o viene specificata una modalità non valida per reportMode, _CrtSetReportMode richiama il gestore di parametri non validi come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione imposta errno suEINVAL e restituisce -1. Per altre informazioni, vedereerrno, _doserrno, _sys_errliste _sys_nerr.
Osservazioni:
_CrtSetReportMode specifica la destinazione di output per _CrtDbgReport. Poiché le macro _ASSERT, _ASSERTE, _RPT, e _RPTF chiamano _CrtDbgReport, _CrtSetReportMode specifica la destinazione dell'output di testo determinato con queste macro.
Quando _DEBUG non è definito, le chiamate a _CrtSetReportMode vengono rimosse durante la pre-elaborazione.
Se non si chiama _CrtSetReportMode per definire la destinazione di output dei messaggi, vengono applicate le impostazioni predefinite seguenti:
Le asserzioni non riuscite e gli errori di asserzione vengono indirizzati a una finestra di messaggio di debug.
Gli avvisi da applicazioni di Windows vengono inviati alla finestra di output del debugger.
Gli avvisi delle applicazioni console non vengono visualizzati.
Nella tabella seguente sono elencati i tipi di report definiti in Crtdbg.h.
| Tipo di report | Descrizione |
|---|---|
_CRT_WARN |
Avvisi, messaggi e informazioni che non richiedono attenzione immediata. |
_CRT_ERROR |
Errori e problemi irreversibili che richiedono attenzione immediata. |
_CRT_ASSERT |
Asserzioni non riuscite (espressioni dichiarate che restituiscono FALSE). |
La funzione _CrtSetReportMode assegna la nuova modalità di report specificata in reportMode al tipo di report specificato in reportType e restituisce la modalità report definita in precedenza per reportType. La tabella seguente elenca le scelte disponibili per reportMode e il comportamento risultante di _CrtDbgReport. Queste opzioni sono definite flag di bit in Crtdbg.h.
| Modalità rapporto | Comportamento _CrtDbgReport |
|---|---|
_CRTDBG_MODE_DEBUG |
Scrive il messaggio alla finestra di output del debugger. |
_CRTDBG_MODE_FILE |
Scrive il messaggio a un handle di file specificato dall'utente. _CrtSetReportFile deve essere chiamato per definire il file o il flusso specifico da usare come destinazione. |
_CRTDBG_MODE_WNDW |
Crea una finestra di messaggio per visualizzare il messaggio insieme ai pulsanti Interrompi, Riprova e Ignora . |
_CRTDBG_REPORT_MODE |
Restituisce reportMode per il reportType specificato:1 _CRTDBG_MODE_FILE2 _CRTDBG_MODE_DEBUG4 _CRTDBG_MODE_WNDW |
Ogni tipo di report può essere riportato tramite uno, due o tre modalità oppure senza modalità. Pertanto, è possibile avere più di una destinazione definita per un singolo tipo di report. Ad esempio, il frammento di codice seguente causa errori di asserzione da essere inviati a una finestra di messaggio di debug e a stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Inoltre, è possibile controllare separatamente la modalità di creazione di report o le modalità per ogni tipo di report. Ad esempio, è possibile specificare che un reportType di _CRT_WARN passa a una stringa di debug di output, mentre _CRT_ASSERT viene visualizzato usando una finestra del messaggio di debug e viene inviato a stderr, come illustrato in precedenza.
Requisiti
| Ciclo | Intestazione obbligatoria | Intestazione facoltativa |
|---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Librerie: esegue il debug solo delle versioni delle librerie di runtime C.