Pas
La première étape consiste à utiliser le programme d'édition pour envoyer le programme source compilé à l'ordinateur dans un certain format d'écriture. Le programme d'édition ajoutera ou ajoutera au programme source selon les intentions de l'utilisateur. Supprimer ou modifier.
La deuxième étape consiste à traduire le programme source d'entrée en langage machine, c'est-à-dire utiliser le compilateur pour vérifier la grammaire du programme source et traduire les instructions du programme source qui répondent aux règles grammaticales dans un "langage" que l'ordinateur peut reconnaître. Si une erreur grammaticale est trouvée après vérification par le compilateur, vous devez utiliser un éditeur pour modifier l'erreur grammaticale dans le programme source, puis le compiler jusqu'à ce qu'il n'y ait plus d'erreur grammaticale.
La troisième étape consiste à utiliser le programme de connexion de l'ordinateur pour connecter le programme de langage informatique traduit et l'intégrer dans un programme que l'ordinateur peut réellement exécuter. Pendant le processus de connexion, les erreurs de connexion ne se produisent généralement pas. Si une erreur de connexion se produit, cela indique qu'il y a des problèmes tels qu'une confusion d'appels de sous-programmes ou des erreurs de passage de paramètres dans le programme source. A ce stade, le programme source doit être modifié avec le programme d'édition, puis compilé et connecté, et ainsi de suite, jusqu'à ce qu'il n'y ait plus d'erreur de connexion.
La quatrième étape consiste à effectuer des calculs d'essai sur le programme modifié. À ce stade, vous pouvez supposer plusieurs données de simulation pour tester l'exécution et comparer les résultats de sortie avec les résultats corrects du traitement manuel. S'il y a une différence, cela indique qu'il y a une erreur logique dans le programme informatique. Si le programme n'est pas volumineux, vous pouvez utiliser des méthodes artificielles pour simuler l'ordinateur afin de modifier les données du programme source ; si le programme est relativement volumineux, la simulation manuelle ne fonctionne évidemment pas, vous ne pouvez alors régler l'ordinateur que sur un mode d'exécution en une seule étape, le fonctionnement du programme de suivi en une étape. Une fois que vous avez trouvé le problème, vous devez toujours éditer le programme pour modifier le programme source, puis vous devez toujours compiler, vous connecter et exécuter jusqu'à ce qu'il n'y ait plus d'erreur logique. Vous pouvez également compiler une fois terminé.
Des principes
Premièrement, utilisez votre tête pour analyser et réfléchir aux informations liées aux symptômes d'erreur.
Deuxièmement, évitez les impasses.
Troisièmement, n'utilisez que des outils de débogage comme moyen. L'utilisation d'outils de débogage peut aider à réfléchir, mais ne remplace pas la réflexion, car les outils de débogage donnent une méthode de débogage irrégulière.
Quatrièmement, évitez les heuristiques, au mieux vous ne pouvez l'utiliser qu'en dernier recours.
Cinquièmement, lorsqu'il y a une erreur, il peut y avoir d'autres erreurs.
Six. Une erreur courante dans la correction des erreurs est que seuls les symptômes de l'erreur ou les performances de l'erreur sont corrigés, mais l'erreur elle-même n'est pas corrigée. Si la modification proposée n'explique pas tous les indices liés à l'erreur, cela signifie que seule une partie de l'erreur a été modifiée.
Sept, faites attention à corriger une erreur tout en introduisant de nouvelles erreurs.
Huitièmement, le processus de correction des erreurs forcera les gens à revenir temporairement à l'étape de la programmation. La correction des erreurs est également une forme de conception de programme.
Neuf, modifiez le programme de code source, ne modifiez pas le code cible.
Méthode
Une méthode de débogage simple : étapes
1, insérez une instruction print dans le programme, l'avantage est qu'il peut afficher le processus dynamique du programme, ce qui est plus facile à vérifier Informations sur le programme source. L'inconvénient est que l'efficacité est faible, qu'une grande quantité de données non pertinentes peut être saisie et que l'erreur s'avère accidentelle.
2, exécuter une partie du programme. Parfois, afin de tester certains segments de programme suspectés d'être erronés, le programme entier est exécuté plusieurs fois. Dans ce cas, essayez de faire en sorte que le programme testé n'exécute que les segments de programme qui doivent être vérifiés pour améliorer l'efficacité.
3, à l'aide d'outils de débogage. La plupart des langages de programmation ont des outils de débogage spéciaux qui peuvent être utilisés pour analyser le comportement dynamique du programme.
Deuxièmement, le dépannage avec la méthode rétrospective. Déterminez l'endroit où le symptôme d'erreur est découvert pour la première fois et retracez manuellement le code source le long du flux de contrôle du programme jusqu'à ce que l'erreur ou la plage soit trouvée.
Troisièmement, le dépannage par induction. C'est une façon de penser systématique, c'est-à-dire une méthode pour déduire le tout de l'individu. Cette méthode part des indices (symptômes d'erreur) et trouve le défaut en analysant la relation entre ces indices. Il y a quatre étapes principales :
(1) Recueillir des données pertinentes. Collectez des cas de test pour découvrir quels symptômes d'erreur sont observés dans les cas de test et dans quelles circonstances l'erreur se produit.
(2) Organiser les données. Organiser et analyser les données afin de trouver les règles, c'est-à-dire dans quelles conditions il y a des erreurs et dans quelles conditions il n'y a pas d'erreurs.
(3) Déduire l'hypothèse. Analyser et étudier les relations entre les indices, et s'efforcer de connaître leurs lois, afin d'émettre une ou plusieurs hypothèses sur l'erreur. Si l'hypothèse ne peut pas être faite, plus de cas de test doivent être conçus et exécutés afin d'obtenir plus de données.
(4) Démontrer l'hypothèse. Les hypothèses ne sont pas égales aux faits. Il est extrêmement important de prouver la rationalité des hypothèses. L'élimination des erreurs basées sur des hypothèses sans preuve ne peut souvent qu'éliminer les signes d'erreurs ou ne peut corriger que certaines des erreurs. La façon de prouver une hypothèse est de l'utiliser pour expliquer tous les résultats du test d'origine. Si tous les phénomènes peuvent être expliqués de manière satisfaisante, l'hypothèse est prouvée, sinon soit l'hypothèse est invalide ou incomplète, soit il y a plusieurs erreurs en même temps.
Quatrièmement, le dépannage par méthode déductive. Imaginez les causes possibles, utilisez les données existantes pour éliminer les hypothèses incorrectes, affinez et prouvez les hypothèses restantes.
Cinquièmement, la méthode de recherche par bissection. Si vous connaissez la valeur correcte de chaque variable à plusieurs points clés du programme, vous pouvez utiliser des instructions d'affectation ou des instructions d'entrée pour "injecter" les valeurs correctes de ces variables à proximité des points clés du programme, puis vérifier la sortie du programme. Si le résultat de sortie est correct, cela signifie que l'erreur s'est produite dans la première moitié, sinon, on peut considérer que l'erreur est dans la seconde moitié. Ceci est répété plusieurs fois, s'approchant progressivement de la mauvaise position.
Classification
Débogage statique
Les deux méthodes suivantes peuvent être utilisées :
(1) Sortir le contenu du registre. S'il y a un problème dans le test, essayez de conserver les informations sur le terrain. Imprimez le contenu de tous les registres et des parties pertinentes de la mémoire principale (généralement imprimé au format octal ou hexadécimal) à des fins d'analyse et de recherche. En déboguant de cette manière, la sortie est l'état statique du programme (l'état du programme à un certain moment), l'efficacité est très faible, et elle n'est utilisée qu'en dernier recours.
(2) Pour obtenir la valeur dynamique de la variable clé, insérez une instruction print dans le programme. C'est un moyen simple d'obtenir des informations dynamiques et de vérifier si une certaine variable a changé comme prévu après un certain temps. L'inconvénient de cette méthode est qu'elle peut générer une grande quantité d'informations à analyser et que le programme source doit être modifié pour insérer l'instruction print, ce qui peut modifier la relation de synchronisation des clés et introduire de nouvelles erreurs.
Débogage dynamique
Utilisez généralement la fonction de débogage fournie par le langage de programmation ou des outils de débogage spéciaux pour analyser le comportement dynamique du programme. Les fonctions de débogage fournies par les langages et outils de programmation généraux incluent la vérification de la mémoire principale et des registres ; en définissant des points d'arrêt, c'est-à-dire lorsqu'une instruction spécifique est exécutée ou que la valeur d'une variable spécifique est modifiée, le programme arrête de s'exécuter afin d'analyser l'état du programme à ce moment.