Maison > Article > développement back-end > Méthode de débogage d'un programme en langage C
Méthode de débogage d'un programme en langage C
Le soi-disant débogage du programme fait référence à la vérification des erreurs et au dépannage du programme.
Le débogage d'un programme doit généralement passer par les étapes suivantes :
1. Tout d'abord, effectuez une inspection manuelle, c'est-à-dire une inspection statique.
Après avoir écrit un programme, ne vous précipitez pas vers l'ordinateur, mais effectuez une inspection manuelle du programme. Cette étape est très importante car elle permet de détecter
la plupart des erreurs provoquées par la négligence du programmeur. Cette étape est souvent négligée par les gens qui veulent toujours tout transférer sur l'ordinateur, mais cela prendra plus de temps machine. En tant que programmeur, vous devez développer un style rigoureux, contrôler strictement chaque étape et ne pas laisser de problèmes aux suivantes. processus. (Apprentissage recommandé : Tutoriel vidéo en langage C)
Afin de mener une inspection manuelle plus efficacement, le programme compilé doit s'efforcer d'atteindre les points suivants :
① La programmation doit être effectuée en utilisant une méthode de programmation structurée pour augmenter la lisibilité ;
② Ajoutez autant de commentaires que possible pour aider à comprendre le rôle de chaque programme
③ N'écrivez pas de programmes complexes Écrivez tout ; instructions dans la fonction principale et utilisez plus de fonctions pour implémenter une fonction distincte. En plus d'utiliser les paramètres
pour transférer des données entre fonctions, il doit y avoir le moins de relations de couplage possible, afin qu'elles puissent être facilement vérifiées et traitées séparément.
2. Une fois l'inspection manuelle correcte, accédez à l'ordinateur pour le débogage.
La découverte d'erreurs grâce à des tests informatiques est appelée inspection dynamique. Des informations sur les erreurs de syntaxe seront fournies lors de la compilation. Pendant le débogage, vous pouvez utiliser les informations d'invite pour rechercher les erreurs dans le programme et les corriger. Il convient
de noter que parfois l'endroit où l'erreur est demandée n'est pas l'emplacement réel de l'erreur. Si vous ne trouvez pas l'erreur dans la ligne où l'erreur est demandée, vous devez la rechercher dans la ligne précédente. . Parfois, le type de message d'erreur n'est pas absolument précis. Puisqu'il existe de nombreuses situations d'erreur et que diverses erreurs sont liées les unes aux autres, vous devez être doué pour analyser et découvrir les véritables erreurs, plutôt que de simplement rechercher les messages d'erreur au sens littéral. .
Si le système affiche beaucoup de messages d'erreur, vous devez les corriger un par un de haut en bas. Parfois, une grande quantité d'informations d'erreur s'affiche, ce qui donne souvent l'impression aux gens que le problème est grave et qu'ils n'ont aucun moyen de commencer. En fait, il peut y avoir
seulement une ou deux erreurs. Par exemple, si une variable utilisée n'est pas définie, un message d'erreur sera émis à toutes les instructions contenant la variable lors de la compilation. À ce stade, tant qu'une définition de variable est ajoutée, toutes les erreurs seront éliminées.
3. Après avoir corrigé les erreurs de syntaxe (y compris « erreur » et « avertissement »), le programme obtiendra le programme cible exécutable via un lien. Exécutez le programme
et entrez les données requises par le programme pour obtenir les résultats. Les résultats d’exécution doivent être analysés pour voir s’ils répondent aux exigences. Certains débutants pensent qu'il n'y a aucun problème lorsqu'ils voient les résultats en cours d'exécution sans une analyse minutieuse, ce qui est dangereux.
Parfois, les données sont complexes et il est difficile de juger immédiatement si les résultats sont corrects. Vous pouvez examiner à l'avance un lot de « données de test ». La saisie de ces données peut facilement déterminer si les résultats sont corrects ou non. Par exemple, lors de la résolution de l'équation ax2+bx+c=0 et de la saisie des valeurs de a, b et c respectivement 1, -2 et 1, la valeur de la racine x est 1. C’est facile à juger. Si la racine n’est pas égale à 1, le programme est évidemment faux.
Cependant, lors de l'utilisation de "données de test", les résultats de l'exécution du programme sont corrects et il n'y a aucune garantie que le programme soit complètement correct. Parce qu'il est possible que les résultats soient incorrects lorsqu'un autre ensemble de données est saisi. Par exemple, si vous utilisez une formule pour trouver la valeur de la racine (a=0 n'a pas été défendu et pluralisé). Par conséquent, vous devez essayer toutes les situations que le programme peut rencontrer une par une. Par exemple, si l'instruction if comporte deux branches, il est possible que le résultat du programme soit correct lors du passage par l'une des branches, mais que le résultat soit incorrect lors du passage par l'autre branche. Tout doit être considéré. En fait, lorsque le programme est complexe, il est difficile de tester toutes les situations possibles. Il suffit de sélectionner les données critiques typiques à tester.
4. Les résultats en cours sont incorrects, principalement des erreurs logiques. De telles erreurs nécessitent souvent une inspection et une analyse minutieuses pour être découvertes. Les méthodes suivantes peuvent être utilisées :1. Comparez soigneusement le programme avec l'organigramme. Si l'organigramme est correct, il est facile de savoir si le programme est erroné. Par exemple, si vous oubliez d'écrire des accolades dans une instruction composée, vous pouvez les retrouver rapidement en consultant le diagramme de processus
.
2. Si vous ne trouvez vraiment pas l'erreur, vous pouvez utiliser la méthode « inspection de segment ». Configurez plusieurs instructions de fonction printf à différents endroits du programme pour afficher les valeurs des variables pertinentes et vérifiez-les
section par section. Jusqu'à ce qu'il s'avère que les données d'une certaine section sont incorrectes. Pour l’instant, l’erreur se limite à ce paragraphe. En réduisant continuellement la « zone de vérification des erreurs », vous pouvez trouver l'erreur.
3. Vous pouvez également utiliser la commande "compilation conditionnelle" pour déboguer le programme (pendant la phase de débogage du programme, plusieurs instructions de la fonction printf seront compilées et exécutées. Une fois le débogage terminé, ces instructions
N'a plus besoin d'être compilé, et il ne sera plus exécuté). Cette méthode élimine le besoin de supprimer les instructions de fonction printf une par une pour améliorer l'efficacité.
4. Si aucun problème n'est détecté dans le programme, vérifiez l'organigramme pour détecter les erreurs, c'est-à-dire s'il y a des problèmes avec l'algorithme. Si c'est le cas, corrigez-le puis modifiez le programme.
5. Certains systèmes fournissent également des outils de débogage pour suivre les programmes et fournir les informations correspondantes, ce qui est plus pratique à utiliser.
En bref, le débogage d'un programme est un travail détaillé et approfondi qui nécessite un travail acharné, une utilisation cérébrale et une accumulation d'expérience. Le processus de débogage d'un programme reflète souvent le niveau, l'expérience
et l'attitude d'une personne. J'espère que tout le monde y prêtera suffisamment attention. Le but du débogage d'un programme sur un ordinateur n'est jamais de « vérifier l'exactitude du programme », mais de « maîtriser les méthodes et techniques de débogage ». Vous devez apprendre à trouver les problèmes par vous-même, afin de pouvoir écrire lentement des programmes pratiques. avec moins d'erreurs.
Pour plus de tutoriels de programmation sur le langage C, veuillez faire attention au site Web PHP chinois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!