Μετάβαση στο περιεχόμενο

Αποσφαλματωτής

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Ο debugger Winpdb ελέγχει τον εαυτό του.

Αποσφαλματωτής (debugger) ή εργαλείο αποσφαλμάτωσης (debugging tool) ονομάζεται ένα πρόγραμμα υπολογιστή το οποίο χρησιμοποιείται για την εξέταση και αποσφαλμάτωση άλλων προγραμμάτων (του προγράμματος "στόχου"). Ο υπό εξέταση κώδικας θα μπορούσε εναλλακτικά να εκτελείται σε ένα προσομοιωτή συνόλου εντολών (instruction set simulator - ISS), μια τεχνική που καταλογίζει μεγάλη δύναμη στην ικανότητα της να σταματά όταν απαντώνται συγκεκριμένες συνθήκες αλλά τυπικά θα είναι κάπως πιο αργή από την εκτέλεση του κώδικα κατευθείαν στον κατάλληλο (ή στον ίδιο) επεξεργαστή. Μερικοί αποσφαλματωτές προσφέρουν δύο τρόπους λειτουργίας, πλήρης ή μερική προσομοίωση, για να περιορίσουν αυτόν τον αντίκτυπο.

Συνήθως, οι αποσφαλματωτές προσφέρουν στο ανώτατο επίπεδό τους έναν επεξεργαστή ερωτημάτων (query processor), έναν αναλυτή συμβόλων (symbol resolver), έναν διερμηνέα εκφράσεων (expression interpreter), και μια διεπαφή υποστήριξης για τον εντοπισμό σφαλμάτων. Προσφέρουν, επίσης, πιο εξελιγμένες λειτουργίες όπως η εκτέλεση ενός προγράμματος βήμα προς βήμα (single-stepping ή program animation), η διακοπή (breaking) (παύση του προγράμματος για να εξετάσουμε την τρέχουσα κατάσταση) σε κάποιο συμβάν ή καθορισμένη εντολή με τη βοήθεια ενός breakpoint, και η παρακολούθηση των τιμών των μεταβλητών. Μερικά προγράμματα εντοπισμού σφαλμάτων έχουν τη δυνατότητα να τροποποιήσουν την κατάσταση του προγράμματος ενώ αυτό εκτελείται. Μπορεί επίσης να είναι δυνατό να συνεχιστεί η εκτέλεση σε μια διαφορετική θέση - εντολή στο πρόγραμμα ώστε να προσπελαστεί ένα σημείο ανεπιθύμητου τερματισμού (crash) ή λογικού λάθους.

Η ίδια λειτουργικότητα που καθιστά έναν αποσφαλματωτή χρήσιμο στην εξάλειψη σφαλμάτων στον κώδικα επιτρέπει να χρησιμοποιηθεί ως εργαλείο software cracking, προκειμένου να αποφευχθούν η προστασία κατά της αντιγραφής (copy protection), η διαχείριση ψηφιακών δικαιωμάτων, και άλλα χαρακτηριστικά προστασίας λογισμικού. Συχνά το καθιστά επίσης χρήσιμο ως γενικό εργαλείο επαλήθευσης, κάλυψης σφαλμάτων και ανάλυσης απόδοσης, ειδικά αν παρουσιάζει τα μήκη των μονοπατιών εντολών (instruction path) του προγράμματος.

Λίστα Αποσφαλματωτών

[Επεξεργασία | επεξεργασία κώδικα]

Ευρέως χρησιμοποιούμενοι αποσφαλματωτές: