Πίνακας περιεχομένων:
Βίντεο: Section 10 2024
Όταν δεν μπορείτε να καταλάβετε τι συμβαίνει με ένα πρόγραμμα C και δεν θέλετε να το εκτελέσετε μέσω του προγράμματος εντοπισμού σφαλμάτων (ή όταν δεν συμπεριλάβατε την επιλογή δημιουργίας εντοπισμού σφαλμάτων), μπορείτε να χρησιμοποιήσετε τις λειτουργίες printf () και puts () ως φίλους σας για τον εντοπισμό σφαλμάτων.
Πώς να τεκμηριώσετε τα προβλήματα
Υποθέστε ότι ο κώδικας έχει μια συνάρτηση που λαμβάνει τη μεταβλητή x , αλλά με κάποιο τρόπο η μεταβλητή x δεν εμφανίζεται ποτέ. Εισάγετε την ακόλουθη γραμμή στον κώδικα:
printf ("τιμή του 'x' στη γραμμή 125:% dn", x);
Αυτή η δήλωση μπορεί στην πραγματικότητα να εμφανιστεί σε πολλά σημεία, εντοπίζοντας την τιμή της μεταβλητής x καθώς μετακινείται μέσω του κώδικα σας. Με τη χρήση του παραθύρου ρολογιών με το πρόγραμμα εντοπισμού σφαλμάτων θα ήταν καλύτερα, αλλά μερικές φορές η χρήση του printf () είναι πολύ πιο γρήγορη.
Εάν δεν παρακολουθείτε μια μεταβλητή και θέλετε να ξέρετε μόνο γιατί ένα κομμάτι κώδικα δεν εκτελείται, εισαγάγετε μια εντολή puts (), κάτι σαν αυτό:
βάζει ("Έχετε φτάσει εδώ")?
Όταν βλέπετε το προηγούμενο κείμενο στην έξοδο, γνωρίζετε ότι ο κώδικας προσεγγίζεται αλλά εξακολουθεί να μην μπορεί να εκτελεστεί. Τότε μιλάτε μέσω του κώδικα, αναζητήστε ένα διπλό ίσο σημάδι όταν σκοπεύατε να χρησιμοποιήσετε ένα ενιαίο σημείο και δοκιμάστε άλλα κόλπα.
Αν και η εισαγωγή μιας εντολής printf () ή puts () στον κώδικα σας μπορεί να μην είναι τόσο ευγενής όσο η χρήση ενός προγράμματος εντοπισμού σφαλμάτων, και σίγουρα δεν λέει, "Το πρόβλημα είναι εδώ", δεν είναι κακό. Απλά θυμηθείτε να τραβήξετε ξανά τις δηλώσεις!
Πώς μπορείτε να αποθηκεύσετε σχόλια για το μέλλον-εσείς
Ένα άλλο πράγμα που μπορείτε να κάνετε για να διορθώσετε αδικαιολόγητη ατυχία είναι απλά να περιγράψετε το πρόβλημα στον κώδικα χρησιμοποιώντας σχόλια. Μπορεί να μην διορθώσει το πρόβλημα τώρα, αλλά για το μέλλον-κοιτάζοντας τον κώδικα κάτω από τη γραμμή, είναι μια πραγματική βοήθεια. χτυπάει προσπαθώντας να ανακαλύψει ξανά το boo-boo. Για παράδειγμα:
για (y = x + a; y
Σε αυτό το παράδειγμα η σημείωση υπενθυμίζει στο μέλλον ότι οι δηλώσεις δεν κάνουν αυτό που προορίζονται,Μπορείτε επίσης να χρησιμοποιήσετε τα σχόλια για να σας προσφέρουμε μελλοντικές προτάσεις για το πώς να βελτιώσετε τον κώδικα, τα πράγματα για να σφίξετε ή για νέα χαρακτηριστικά που απλά δεν έχετε χρόνο να προσθέσετε προς το παρόν