Assertions sont une disposition faite par les compilateurs ANSI C / C pour vérifier l`intégrité d`une déclaration de programmation au moment de l`exécution. Une assertion est une macro ou une fonction qui prend une instruction conditionnelle en tant que paramètre. Si la condition échoue, le programme est interrompu par une boîte de dialogue qui indique l`échec d`assertion. Un bon exemple est l`utilisation imprudente des pointeurs. Les pointeurs sont des adresses dans la mémoire où se trouve des données ou un point d`entrée de la fonction. Si la variable de pointeur ne pointe pas vers l`espace utilisable et sans mémoire, ou des points à l`espace dans une zone interdite, puis accéder à ce pointeur au moment de l`exécution peut provoquer un plantage du système.
Lancez Visual Studio. Sélectionnez le projet de votre application. Cliquez sur la droite, plus le menu déroulant dans l`espace de travail du projet. Elle montre deux entrées: "Win32 Debug" et "Win32 Release." Choisir "Win32 Debug."
Cliquer sur "Construire" dans le menu de l`espace de travail de projet ou sélectionnez "Construire
" pour reconstruire l`application en mode débogage. Exécutez la nouvelle version de Visual Studio.
Notez les informations fournies, comme nom de fichier source, numéro de ligne, le nom du module ou de la bibliothèque quand vous obtenez le "assertion échec" message. presse "Recommencez" pour déboguer le code source.
presse "Alt + 7" ("Alt" et alors "7" tandis que Alt est enfoncée) pour faire apparaître la fenêtre de débogage. Regardez dans la pile d`appels de haut en bas, et aller à la première fonction à partir du code source de l`application, en sautant les appels système qui sont une partie du code généré par le compilateur.
Lisez votre application ligne de fonction en ligne. Remarque et le suivi de chaque paramètre de fonction, variable locale, globale et statique utilisé. Rechercher des variables de pointeur étant utilisés sans une instruction conditionnelle qui vérifie si le pointeur est NULL. Rechercher des pointeurs non initialisés et indices de tableau passés hors des limites.
erreurs de programmation corrects que vous trouvez dans et / ou autour de ce morceau de code, peut-être dans la fonction de parent ou précédemment appelée fonction.
Suivez la pile debug d`appel pour voir quelle ligne dans l`application a provoqué la violation si l`erreur n`a pas encore été diagnostiquée. Étape à travers les appels imbriqués pour détecter l`erreur. Celles-ci pourraient être une combinaison d`appels de bibliothèque et système MFC, Windows.
Utilisez l`utilitaire "Pageheap.exe" déboguer les erreurs de référence mémoire Windows Heap complexes qui ne peuvent pas être capturées par le diagnostic de code d`application. Utilisez les informations fournies par le message d`assertion pour plus suivi.