Usare i controlli di runtime nativi

In un progetto C++ di Visual Studio è possibile usare runtime_checks native per rilevare errori di runtime comuni, ad esempio:

  • Errori del puntatore dello stack.

  • Sovraccarichi di matrici locali.

  • Errori dello stack.

  • Dipendenze da variabili locali non inizializzate.

  • Perdita di dati a causa dell'assegnazione a una variabile di lunghezza inferiore.

    Se si usa l'opzione /RTC con una build ottimizzata (/O), verrà restituito un errore del compilatore. Se si usa un pragma runtime_checks in una build ottimizzata, il pragma non avrà effetto.

    Durante il debug di un programma in cui sono attivi i controlli runtime, l'azione predefinita quando si verifica un errore di runtime è l'arresto del programma e il passaggio al debugger. Tale comportamento predefinito può essere modificato per qualsiasi controllo runtime. Per altre informazioni, vedere Gestione delle eccezioni con il debugger.

    Nelle procedure riportate di seguito viene descritto come attivare i controlli runtime nativi in una build di debug e come modificare il comportamento di tali controlli.

    Negli altri argomenti di questa sezione vengono fornite informazioni relative a:

  • Personalizzazione dei controlli runtime nativi

Per attivare i controlli runtime nativi in una build di debug

  • Usare l'opzione /RTC e collegarsi alla versione di debug di una libreria di runtime del linguaggio C, ad esempio /MDd.

    Per impostare l'opzione in Visual Studio, vedere la sezione Osservazioni dell'articolo di riferimento /RTC (controlli degli errori di runtime). Impostare il valore nella proprietà Basic Runtime Checks e non nella proprietà Controllo tipi più piccoli. La proprietà Check di tipo più piccolo non è consigliata.

Per modificare il comportamento dei controlli runtime nativi

  • Usare il pragma runtime_checks .