Personnalisation des contrôles natifs à l'exécution
Mise à jour : novembre 2007
Lorsque vous compilez avec l'option /RTC (contrôles à l'exécution) ou utilisez le pragma runtime_checks, la bibliothèque Runtime C fournit les contrôles natifs à l'exécution. Dans certains cas, il est utile de personnaliser le contrôle à l'exécution :
Pour acheminer des messages de contrôle à l'exécution vers d'autres emplacements que le fichier ou la destination par défaut.
Pour spécifier une destination de sortie en cas de messages de contrôle à l'exécution venant d'un débogueur tiers.
Pour rapporter des messages de contrôle à l'exécution en provenance d'un programme compilé avec une version finale de la bibliothèque Runtime C. Les versions finales de la bibliothèque n'utilisent pas _CrtDbgReportW pour rapporter les erreurs d'exécution. Elles affichent à la place une boîte de dialogue Assert par erreur d'exécution.
Pour personnaliser le contrôle des erreurs d'exécution, vous pouvez :
Écrire une fonction permettant d'obtenir un rapport sur les erreurs d'exécution. Pour plus d'informations, consultez Comment : écrire une fonction de création de rapports d'erreurs d'exécution.
Personnaliser la destination des messages d'erreur.
Demander des informations sur les erreurs de contrôle à l'exécution.
Personnaliser la destination des messages d'erreur
Si vous utilisez _CrtDbgReportW pour rapporter des erreurs, vous pouvez utiliser _CrtSetReportMode pour spécifier la destination des messages d'erreur.
Si vous utilisez une fonction personnalisée pour obtenir vos rapports, associez une erreur à un type de rapport à l'aide de _RTC_SetErrorType.
Demander des informations sur les contrôles à l'exécution
_RTC_NumErrors retourne le nombre de types d'erreurs détectés par les vérifications des erreurs au moment de l'exécution. Pour obtenir une brève description de chaque erreur, faites une boucle allant de 0 à la valeur de retour _RTC_NumErrors, en transmettant, à chaque boucle, la valeur de l'itération à _RTC_GetErrDesc. Pour plus d'informations, consultez _RTC_NumErrors et _RTC_GetErrDesc.
Voir aussi
Tâches
Comment : utiliser les contrôles natifs à l'exécution