utiliser les vérifications natives à l’exécution
Dans un projet Visual Studio C++, vous pouvez utiliser des runtime_checks natifs pour détecter les erreurs d’exécution courantes, telles que :
Un pointeur de pile détérioré.
Des dépassements de tableaux locaux.
Une pile détériorée.
Des dépendances avec des variables locales non initialisées.
Une perte de données par suite d'une assignation à une variable plus courte.
Si vous utilisez /RTC dans une version optimisée (/O), il en résulte une erreur du compilateur. Un pragma
runtime_checks
n'a aucun effet s'il est utilisé dans une version optimisée.Si les contrôles à l'exécution sont activés dans le programme que vous déboguez, par défaut, le programme s'arrête et entre dans le débogueur en cas d'erreur. Vous pouvez modifier ce comportement par défaut pour tout contrôle d'exécution. Pour plus d’informations, consultez Gestion des exceptions avec le débogueur.
Les procédures suivantes décrivent comment activer des contrôles d'exécution natifs dans une génération Debug et comment modifier le comportement du contrôle d'exécution natif.
Les autres rubriques de cette section fournissent des informations sur :
Personnalisation des contrôles d'exécution avec la bibliothèque Runtime C
Pour activer les contrôles natifs à l'exécution dans une version Debug
Utilisez l'option /RTC et établissez une liaison avec la version Debug d'une bibliothèque Runtime C (/MDd, par exemple).
Pour définir l’option dans Visual Studio, consultez la section Remarques de l’article de référence sur l’erreur /RTC (vérification des erreurs d’exécution). Définissez la valeur dans la propriété Vérifications de base à l’exécution et non la propriété Vérifications de type plus petit. La propriété Vérifications de type plus petit n’est pas recommandée.
Pour modifier le comportement du contrôle natif à l'exécution
- Utilisez le pragma
runtime_checks
.