Αποσφαλμάτωση ενός προγράμματος BASIC

Περιεχόμενα
Δείκτης 🔎︎

# Εντοπισμός σφαλμάτων σε πρόγραμμα Basic

## Σημεία παύσης και βηματική εκτέλεση

Η βηματική εκτέλεση σάς επιτρέπει να ελέγχετε κάθε εντολή στο πρόγραμμά σας για σφάλματα. Με αυτό τον τρόπο, μπορείτε να εντοπίζετε εύκολα τα σφάλματα αφού είστε σε θέση να βλέπετε αμέσως το αποτέλεσμα κάθε βήματος. Ένας δείκτης στη στήλη σημείων στάσης του προγράμματος επεξεργασίας δείχνει την τρέχουσα γραμμή. Επιπλέον, μπορείτε να εγκαταστήσετε ένα σημείο στάσης αν θέλετε να υποχρεώσετε το πρόγραμμα να διακόπτεται σε μια καθορισμένη θέση.

Κάντε διπλό κλικ στην στήλη σημείων στάσης στα αριστερά του παραθύρου επεξεργασίας για να επιλέξτε/από-επιλέξτε ένα σημείο παύσης στην αντίστοιχη γραμμή. Όταν το πρόγραμμα φθάσει σε ένα σημείο παύσης, η εκτέλεση προγράμματος διακόπτεται.

Η Βηματική εκτέλεση μέσω του εικονιδίου Βηματική εκτέλεση προκαλεί την διακλάδωση του προγράμματος σε διαδικασίες και σε συναρτήσεις.

Η εκτέλεση διαδικασίας μέσω του το εικονιδίου Εκτέλεση διαδικασίας προκαλεί το πρόγραμμα να προσπεράσει τις διαδικασίες και τις συναρτήσεις ως ενιαίο βήμα.

### Ιδιότητες σημείου στάσης

Οι ιδιότητες ενός σημείου στάσης είναι διαθέσιμες μέσω του μενού περιβάλλοντος του με δεξί κλικ πάνω στο σημείο στάσης στη στήλη σημείων στάσης.

Μπορείτε να ενεργοποιήστε και να απενεργοποιήστε ένα σημείο στάσης με την επιλογή Ενεργό από το μενού περιβάλλοντος του. Όταν ένα σημείο στάσης απενεργοποιείται, δεν διακόπτει την εκτέλεση του προγράμματος.

Επιλέξτε Ιδιότητες από το μενού περιβάλλοντος ενός σημείου στάσης ή επιλέξτε Σημεία στάσης από το μενού περιβάλλοντος της στήλης σημείου στάσης για να καλέσετε το παράθυρο διαλόγου Σημεία στάσης όπου εκεί μπορείτε να ορίσετε και άλλες επιλογές για τα σημεία στάσης.

Ο κατάλογος εμφανίζει όλα τα σημεία στάσης με τον αντίστοιχο αριθμό γραμμών στον πηγαίο κώδικα. Μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε ένα επιλεγμένο σημείο στάσης με το να ενεργοποιείτε ή να απενεργοποιείτε το πλαίσιο επιλογής Ενεργό.

Στο πεδίο Αρ. διαδρομών μπορείτε να ορίσετε πόσες φορές το σημείο στάσης μπορεί να προσπεραστεί πριν να διακοπεί η εκτέλεση του προγράμματος. Αν εισαγάγετε 0 (προεπιλεγμένη ρύθμιση) το πρόγραμμα θα διακόπτεται πάντα μόλις συναντά το σημείο στάσης.

Κάντε κλικ στο Διαγραφή για να καταργήσετε το σημείο στάσης από το πρόγραμμα.

## Παρατηρώντας της τιμές των μεταβλητών

Μπορείτε να ελέγξετε τις τιμές μιας μεταβλητής με την προσθήκη της στο παράθυρο του Παρατηρητή. Για να προσθέσετε μια μεταβλητή στον κατάλογο με της παρατηρούμενες μεταβλητές, πληκτρολογήστε το όνομα της στο πλαίσιο κειμένου του παρατηρητή και πατήστε Enter.

Οι τιμές όλων των μεταβλητών στην τρέχουσα διαδικασία SUB ή FUNCTION εμφανίζονται στο παράθυρο του Παρατηρητή. Αν εμφανίζονται μεταβλητές που δεν καθορίζονται τοπικά για την τρέχουσα SUB ή FUNCTION, εμφανίζεται ένα μήνυμα ("Εκτός πεδίου") αντί της τιμής.

Μπορείτε επίσης να περιλάβετε πίνακες στο παράθυρο του Παρατηρητή. Αν εισαγάγετε το όνομα μιας μεταβλητής πίνακα χωρίς τιμή ευρετηρίου στο πλαίσιο κειμένου του Παρατηρητή, εμφανίζεται το περιεχόμενο ολόκληρου του πίνακα.

Αν αφήσετε το δείκτη του ποντικιού επάνω από μία έγκυρη (και προκαθορισμένη) μεταβλητή στο παράθυρο του Παρατηρητή κατά το χρόνο εκτέλεσης, εμφανίζεται το περιεχόμενο της μεταβλητής στο αναδυόμενο πλαίσιο κειμένου.

## Το παράθυρο στοίβας κλήσεων

Παρέχει μια επισκόπηση της ιεραρχίας κλήσης των διαδικασιών και των συναρτήσεων. Μπορείτε να καθορίσετε ποιες διαδικασίες και συναρτήσεις κάλεσαν άλλες διαδικασίες και συναρτήσεις στο τρέχον σημείο του πηγαίου κώδικα.

## Κατάλογος σφαλμάτων χρόνου εκτέλεσης

1 Συνέβη εξαίρεση

2 Σφάλμα σύνταξης

3 Επιστροφή χωρίς Gosub

4 Άκυρη είσοδος· παρακαλώ ξαναπροσπαθήστε

5 Άκυρη κλήση διαδικασίας

6 Υπερχείλιση

7 Ανεπάρκεια μνήμης

8 Πίνακας με ήδη καθορισμένες διαστάσεις

9 Δείκτης εκτός εμβέλειας

10 Διπλός ορισμός

11 Διαίρεση με το μηδέν

12 Απροσδιόριστη μεταβλητή

13 Ασυμφωνία τύπου δεδομένων

14 Άκυρη παράμετρος

18 Διακοπή διαδικασίας από τον χρήστη

20 Επαναφορά χωρίς λάθος

28 Ανεπαρκής μνήμη στοίβας

35 Μη καθορισμένη υποδιαδικασία ή διαδικασία συνάρτησης

48 Λάθος στη φόρτωση αρχείου DLL

49 Λανθασμένη σύμβαση κλήσης DLL

51 Εσωτερικό σφάλμα

52 Άκυρο όνομα αρχείου ή αριθμού αρχείου

53 Δεν βρέθηκε αρχείο

54 Λαθεμένη κατάσταση αρχείου

55 Το αρχείο είναι ήδη ανοικτό

57 Λάθος συσκευής εισαγωγής/εξαγωγής

58 Το αρχείο υπάρχει ήδη

59 Άκυρο μήκος εγγραφής

61 Ο δίσκος ή ο σκληρός είναι γεμάτος

62 Η ανάγνωση ξεπερνά το τέλος της γραμμής

63 Άκυρος αριθμός εγγραφής

67 Υπερβολικά αρχεία

68 Μη διαθέσιμη συσκευή

70 Άρνηση πρόσβασης

71 Ο δίσκος δεν είναι έτοιμος

73 Μη εφαρμόσιμο

74 Αδυναμία μετονομασίας σε διαφορετικούς οδηγούς

75 Λάθος πρόσβασης διαδρομής/αρχείου

76 Η διαδρομή δεν βρέθηκε

91 Η μεταβλητή αντικειμένου δεν ορίστηκε

93 Άκυρη μορφή συμβολοσειράς

94 Η χρήση του μηδενός δεν επιτρέπεται

250 σφάλμα δυναμικής ανταλλαγής δεδομένων

280 Αναμονή απάντησης σε σύνδεση DDE

281 Μη διαθέσιμα κανάλια DDE

282 Χωρίς απάντηση εφαρμογής στην αρχικοποίηση της σύνδεσης DDE

283 Υπερβολικές απαντήσεις εφαρμογών στην αχική σύνδεση DDE

284 Κλειδωμένο κανάλι DDE

285 Η εξωτερική εφαρμογή δεν μπορεί να εκτελέσει τη λειτουργία DDE

286 Λήξη χρόνου αναμονής ενώ αναμενόταν απάντηση DDE

287 ο χρήστης πάτησε ESC κατά τη λειτουργία DDE

288 Η εξωτερική συσκευή είναι απασχολημένη

289 Λειτουργία DDE χωρίς δεδομένα

290 Τα δεδομένα είναι σε λάθος μορφή

291 Η εξωτερική εφαρμογή έχει τελειώσει

292 Η σύνδεση DDE διακόπηκε ή τροποποιήθηκε

293 Η μέθοδος DDE κλήθηκε χωρίς ανοιχτό κανάλι

294 Άκυρη μορφή σύνδεσης DDE

295 Το μήνυμα DDE χάθηκε

296 Η επικόλληση συνδέσμου εκτελέστηκε ήδη

297 Η κατάσταση σύνδεσης δεν μπορεί να οριστεί λόγω άκυρης τοπικής σύνδεσης

298 Το DDE απαιτεί το αρχείο DDEML.DLL

323 Αδύνατη η φόρτωση του αρθρώματος· άκυρη μορφή

341 Άκυρος δείκτης αντικειμένου

366 Το αντικείμενο δεν είναι διαθέσιμο

380 Άκυρη τιμή ιδιότητας

382 Αυτή η ιδιότητα είναι μόνο για ανάγνωση

394 Αυτή η ιδιότητα είναι μόνο για εγγραφή

420 Άκυρη αναφορά αντικειμένου

423 Η ιδιότητα ή η μέθοδος δεν βρέθηκε

424 Απαιτείται αντικείμενο

425 Άκυρη χρήση αντικειμένου

430 Η αυτοματοποίηση OLE δεν υποστηρίζεται από αυτό το αντικείμενο

438 Αυτή η ιδιότητα ή η μέθοδος δεν υποστηρίζεται από το αντικείμενο

440 Λάθος αυτοματοποίησης OLE

445 Αυτή η ενέργεια δεν υποστηρίζεται από το δεδομένο αντικείμενο

446 Επώνυμα ορίσματα δεν υποστηρίζονται από το δεδομένο αντικείμενο

447 Η τρέχουσα τοπική ρύθμιση δεν υποστηρίζεται από το δεδομένο αντικείμενο

448 Το επώνυμο όρισμα δεν βρέθηκε

449 Το όρισμα δεν είναι προαιρετικό

450 Άκυρος αριθμός ορισμάτων

451 Το αντικείμενο δεν είναι λίστα

452 Άκυρος τακτικός αριθμός

453 Η επιλεγμένη συνάρτηση DLL δεν βρέθηκε

460 Άκυρη μορφοποίηση προχείρου

951 Απρόβλεπτο σύμβολο:

952 Αναμενόμενο:

953 Αναμενόταν σύμβολο

954 Αναμενόταν μεταβλητή

955 Αναμενόταν ετικέτα

956 Η τιμή δεν μπορεί να εφαρμοστεί

957 Ήδη καθορισμένη μεταβλητή

958 Ήδη καθορισμένη υποδιαδικασία ή διαδικασία συνάρτησης

959 Ήδη καθορισμένη ετικέτα

960 Δεν βρέθηκε μεταβλητή

961 Δεν βρέθηκε πίνακας ή διαδικασία

962 Δεν βρέθηκε διαδικασία

963 Απροσδιόριστη ετικέτα

964 Άγνωστος τύπος δεδομένων

965 Αναμενόταν έξοδος

966 Ομαδική δήλωση ακόμα ανοιχτή: λείπει

967 Οι παρενθέσεις δεν ταιριάζουν

968 Το σύμβολο καθορίστηκε ήδη διαφορετικά

969 Οι παράμετροι δεν αντιστοιχούν σε διαδικασία

970 Άκυρος χαρακτήρας σε αριθμό

971 Ο πίνακας πρέπει να είναι με διαστάσεις

972 Else/Endif χωρίς If

973 δεν επιτρέπεται μέσα σε διαδικασία

974 δεν επιτρέπεται έξω από διαδικασία

975 Οι προδιαγραφές διάστασης δεν ταιριάζουν

976 Άγνωστη επιλογή:

977 Ανακαθορισμός σταθεράς

978 Υπερβολικά μεγάλο πρόγραμμα

979 Ανεπίτρεπτες συμβολοσειρές ή πίνακες

1000 Το αντικείμενο δεν έχει αυτήν την ιδιότητα

1001 Το αντικείμενο δεν έχει αυτή τη μέθοδο

1002 Έλλειψη απαιτούμενου ορίσματος

1003 Άκυρος αριθμός ορισμάτων

1004 Σφάλμα εκτέλεσης μεθόδου

1005 Αδυναμία ορισμού ιδιότητας

1006 Αδυναμία προσδιορισμού ιδιότητας