Condividi tramite


_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.

Vedere anche

Riferimenti

Procedura di debug