Share via


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.