Personalizzazione dei controlli runtime nativi
Quando si esegue la compilazione con /RTC (controlli di runtime) o si usa il runtime_checks
pragma, la libreria di runtime C fornisce controlli di runtime nativi. In alcuni casi può essere necessario personalizzare il controllo runtime:
Per indirizzare i messaggi del controllo runtime a un file o una destinazione diversa da quella predefinita.
Per specificare una destinazione di output dei messaggi del controllo runtime in un debugger di altri produttori.
Per segnalare i messaggi del controllo runtime provenienti da un programma compilato con una versione di rilascio della libreria di runtime del linguaggio C. Nelle versioni di rilascio della libreria per segnalare gli errori di runtime non viene utilizzato
_CrtDbgReportW
e viene invece visualizzata una finestra di dialogo di asserzione per ciascun errore di runtime.Per personalizzare il controllo degli errori di runtime, è possibile utilizzare uno degli accorgimenti seguenti:
Scrivere una funzione per la segnalazione degli errori di runtime. Per altre informazioni, vedere Procedura: Scrivere una funzione di segnalazione errori di runtime.
Personalizzare la destinazione dei messaggi di errore.
Eseguire una query per ottenere informazioni sugli errori rilevati dai controlli runtime.
Personalizzare la destinazione dei messaggi di errore
Se si utilizza _CrtDbgReportW
per la segnalazione degli errori, è possibile utilizzare _CrtSetReportMode
per specificare la destinazione dei messaggi di errore.
Se si utilizza una funzione di segnalazione degli errori personalizzata, utilizzare _RTC_SetErrorType
per associare un tipo di report a ciascun errore.
Eseguire una query per ottenere informazioni sui controlli runtime
_RTC_NumErrors
restituisce il numero di tipi di errore rilevati dai controlli degli errori di runtime. Per ottenere una breve descrizione di ciascun errore, è possibile creare un ciclo da 0 al valore restituito da _RTC_NumErrors
passando il valore di iterazione a _RTC_GetErrDesc
in ciascun ciclo. Per altre informazioni, vedere _RTC_NumErrors e _RTC_GetErrDesc.