Σφάλματα ανεπανόρθωτης εξαίρεσης (Fatal Exception Errors)

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 150314 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Αυτό το άρθρο, στο παρελθόν ήταν δημοσιευμένο με αριθμό GR150314
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Όταν προσπαθείτε να τερματίσετε τη λειτουργία του υπολογιστή, να κάνετε εκκίνηση των Windows ή μιας εφαρμογής μέσα από τα Windows, πιθανόν να συναντήσετε σφάλματα παρόμοια με τα ακόλουθα:
Παρουσιάστηκε μια ανεπανόρθωτη εξαίρεση <XY> στο xxxx:xxxxxxxx

(A fatal exception <XY> has occurred at xxxx:xxxxxxxx)
Τα σφάλματα ανεπανόρθωτης εξαίρεσης είναι κώδικες που εμφανίζει ένα πρόγραμμα στις εξής περιπτώσεις:
  1. Υπάρχει πρόσβαση σε μη έγκυρη εντολή
  2. Υπάρχει πρόσβαση σε μη έγκυρα δεδομένα ή σε μη έγκυρο κώδικα
  3. Το επίπεδο δικαιωμάτων κάποιας λειτουργίας δεν είναι έγκυρο

Όταν προκύψει κάποια από αυτές τις περιπτώσεις, ο επεξεργαστής επιστρέφει μια εξαίρεση στο λειτουργικό σύστημα, η οποία αντιμετωπίζεται ως σφάλμα ανεπανόρθωτης εξαίρεσης (Fatal Exception Error). Σε πολλές περιπτώσεις η εξαίρεση είναι ανεπανόρθωτη και πρέπει είτε να γίνει επανεκκίνηση είτε τερματισμός της λειτουργίας του συστήματος, ανάλογα με τη σοβαρότητα του σφάλματος.

Στο παράδειγμα σφάλματος ανεπανόρθωτης εξαίρεσης που ακολουθεί
Παρουσιάστηκε μια ανεπανόρθωτη εξαίρεση <XY> στο xxxx:xxxxxxxx

(A fatal exception <XY> has occurred at xxxx:xxxxxxxx)

το <XY> αντιπροσωπεύει την ίδια την εξαίρεση επεξεργαστή από 00 σε 0F (το h που αναγράφεται μετά τα 0E, 0F και τα λοιπά στις επεξηγήσεις παρακάτω συχνά παραλείπεται στο μήνυμα λάθους). Το xxxx:xxxxxxxx αναπαριστά τον εμπλουτισμένο δείκτη οδηγίας στο τμήμα κώδικα και η διεύθυνση 32-bit είναι η πραγματική διεύθυνση στην οποία παρουσιάστηκε η εξαίρεση.

Τα Windows δεν προκαλούν αυτά τα σφάλματα, αλλά διαθέτουν τη ρουτίνα χειρισμού εξαίρεσης για τη συγκεκριμένη εξαίρεση επεξεργαστή, που εμφανίζει το παραπάνω μήνυμα.

ΣΗΜΕΙΩΣΗ: Αυτό το άρθρο προορίζεται μόνο για ενημερωτική χρήση. Κάντε κλικ στην παρακάτω σύνδεση, για να μεταβείτε στην ενότητα αντιμετώπισης προβλημάτων αυτού του άρθρου.

Περισσότερες πληροφορίες

Ακολουθούν οι εξαιρέσεις επεξεργαστή και οι ορισμοί τους:

00: Σφάλμα διαίρεσης (00: Divide Fault)

Ο επεξεργαστής επιστρέφει αυτήν την εξαίρεση, όταν συναντά ένα σφάλμα διαίρεσης. Το σφάλμα διαίρεσης προκύπτει, όταν γίνεται προσπάθεια διαίρεσης διά του μηδενός ή εάν το αποτέλεσμα της λειτουργίας δεν ταιριάζει με τον τελεστέο προορισμού.



02: Διακοπή NMI (02: NMI interrupt)

Η διακοπή 2 είναι δεσμευμένη για τη συνθήκη υλικού διακοπής χωρίς μάσκα. Χωρίς παγίδευση εξαιρέσεων από τη διακοπή 2.



04: Παγίδευση υπερχείλισης (04: Overflow trap)

Η παγίδευση υπερχείλισης προκύπτει μετά την εκτέλεση μιας οδηγίας INTO και το 0F bit είναι ρυθμισμένο στο 1.

05: Σφάλμα ελέγχου Bound (05: Bounds Check Fault)

Η εντολή BOUND συγκρίνει το ευρετήριο πίνακα με τα ανώτερα και κατώτερα όρια. Εάν το ευρετήριο είναι εκτός κλίμακας, τότε ο επεξεργαστής κάνει παγίδευσε σε λειτουργία διακοπής 05.

06: Σφάλμα μη έγκυρου Opcode (06: Invalid Opcode fault)

Αυτό το σφάλμα επιστρέφεται, αν ισχύει μία από τις εξής συνθήκες:
  1. Ο επεξεργαστής προσπαθεί να αποκωδικοποιήσει ένα μοτίβο bit που δεν αντιστοιχεί σε καμία έγκυρη εντολή υπολογιστή
  2. Ο επεξεργαστής επιχειρεί να εκτελέσει μια εντολή που περιέχει μη έγκυρους τελεστέους
  3. Ο επεξεργαστής επιχειρεί να εκτελέσει μια εντολή προστατευμένης λειτουργίας, ενώ λειτουργεί σε εικονική κατάστασης 8086.
  4. Ο επεξεργαστής προσπαθεί να εκτελέσει ένα πρόθεμα LOCK με μια εντολή που δεν είναι δυνατό να κλειδωθεί.

07: Μη διαθέσιμος συνεπεξεργαστής (07: Coprocessor not available fault)

Αυτό το σφάλμα προκύπτει, εάν ο υπολογιστής δεν διαθέτει μαθηματικό συνεπεξεργαστή και το EM bit της δήλωσης CR0 έχει οριστεί, υποδεικνύοντας ότι χρησιμοποιείται η εξομοίωση επεξεργαστή αριθμητικών δεδομένων (Numeric Data Processor). Κάθε φορά που εκτελείται λειτουργία κινητής υποδιαστολής, προκύπτει διακοπή 07.

Αυτό το σφάλμα παρουσιάζεται επίσης, όταν χρησιμοποιείται μαθηματικός συνεπεξεργαστής και εκτελείται εναλλαγή εργασιών. Η διακοπή 07 ειδοποιεί τον επεξεργαστή ότι η τρέχουσα κατάσταση του συνεπεξεργαστή πρέπει να αποθηκευτεί, ώστε να είναι δυνατό να χρησιμοποιηθεί από άλλη εργασία.

08: Διπλό σφάλμα (08: Double Fault)

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

09: Υπέρβαση τμήματος συνεπεξεργαστή (09: Coprocessor Segment Overrun)

Αυτό το σφάλμα προκύπτει, όταν μια εντολή κινητής υποδιαστολής προκαλεί πρόσβαση μνήμης που εκτελείται πέρα από το τέλος του τμήματος. Εάν η διεύθυνση εκκίνησης του τελεστέου κινητής υποδιαστολής βρίσκεται εκτός τμήματος, τότε προκύπτει Γενικό σφάλμα προστασίας (General Protection Fault) (διακοπή 0D).

10 (0Ah): Σφάλμα Task State Segment Fault (10 (0Ah): Invalid Task State Segment)

Επειδή το Task State Segment περιέχει διάφορες περιγραφές, οποιαδήποτε συνθήκη μπορεί να προκαλέσει εξαίρεση 0A. Συνήθως, ο επεξεργαστής μπορεί να συγκεντρώσει αρκετές πληροφορίες από το Task State Segment, για να δημιουργήσει ένα άλλο σφάλμα που θα οδηγεί στο πραγματικό ζήτημα. Ανατρέξτε στο εγχειρίδιο "Microsoft's Programming the 80386/80486 Guide" για περισσότερες πληροφορίες.

11 (0Bh): Σφάλμα απουσίας (11 (0Bh): Not Present Fault)

Η διακοπή απουσίας επιτρέπει στο λειτουργικό σύστημα να υλοποιήσει εικονική μνήμη μέσω του μηχανισμού τμηματοποίησης. Όταν ένα τμήμα επισημαίνεται ως "απόν", το τμήμα αντιμετατίθεται στο δίσκο. Το σφάλμα διακοπής 0B προκαλείται, όταν μια εφαρμογή πρέπει να αποκτήσει πρόσβαση στο τμήμα.

12 (0Ch): Σφάλμα στοίβας (12 (0Ch): Stack Fault)

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

13 (0Dh): Γενικό σφάλμα προστασίας (13 (0Dh): General Protection Fault)

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

14 (0Eh): Σφάλμα σελίδας (14 (0Eh): Page Fault)

Η διακοπή σφάλματος σελίδας επιτρέπει στο λειτουργικό σύστημα να υλοποιήσει εικονική μνήμη με βάση τη ζήτηση σελίδων. Η διακοπή 14 δημιουργείται συνήθως, όταν υπάρχει πρόσβαση σε μια καταχώρηση καταλόγου σελίδας ή σε έναν πίνακα σελίδας με το υπάρχον bit να έχει οριστεί στο 0 (Απουσία - Not Present). Το λειτουργικό σύστημα καθιστά τη σελίδα παρούσα (συνήθως ανακτά τη σελίδα από την εικονική μνήμη) και εκδίδει ξανά την εντολή σφάλματος, που στη συνέχεια μπορεί να αποκτήσει πρόσβαση στο τμήμα. Το σφάλμα σελίδας προκύπτει επίσης, όταν παραβιάζεται ένας κανόνας προστασίας σελιδοποίησης (όταν αποτυγχάνει η ανάκτηση ή τα δεδομένα που έχουν ανακτηθεί δεν είναι έγκυρα ή όταν ο κώδικας που δημιούργησε το σφάλμα παραβίασε τον κανόνα προστασίας για τον επεξεργαστή). Σε αυτές τις περιπτώσεις το λειτουργικό σύστημα αναλαμβάνει την κατάλληλη δράση.



16 (10h): Σφάλμα συνεπεξεργαστή (16 (10h): Coprocessor error Fault )

Αυτή η διακοπή προκύπτει, όταν μια εξαίρεση κινητής υποδιαστολής χωρίς μάσκα έχει ειδοποιήσει μια προηγούμενη εντολή. (Επειδή ο επεξεργαστής 80386 δεν έχει πρόσβαση στη μονάδα κινητής υποδιαστολής (Floating Point Unit), ελέγχει την ακκίδα ERROR\ για να ελέγξει αυτήν την κατάσταση). Αυτό προκαλείται επίσης από μια οδηγία WAIT, εάν έχει οριστεί το bit συνεπεξεργαστή προσομοίωσης μαθηματικών (Emulate Math Coprocessor) στο CR0.

17 (11h): Σφάλμα ελέγχου στοίχισης (17 (11h): Alignment Check Fault )

Αυτή η διακοπή χρησιμοποιείται μόνο στους επεξεργαστές 80486. Όταν ένα τμήμα κώδικα που εκτελείται με δικαιώματα δακτυλίου 3 επιχειρεί να προσπελάσει έναν τελεστέο με μήκος μίας λέξης ο οποίος δεν αποτελεί όριο ζυγής διεύθυνσης, έναν τελεστέο με μήκος διπλής λέξης ο οποίος δεν είναι διαιρετός διά του τέσσερα, έναν μεγάλο πραγματικό αριθμό ή έναν προσωρινό πραγματικό αριθμό η διεύθυνση του οποίου δεν είναι διαιρετή διά του οκτώ, δημιουργείται μια διακοπή 17. Ο έλεγχος στοίχισης απενεργοποιείται, όταν ο επεξεργαστής ενεργοποιείται για πρώτη φορά, και ενεργοποιείται μόνο στην προστατευμένη λειτουργία.

Αντιμετώπιση σφαλμάτων ανεπανόρθωτης εξαίρεσης



Λόγω των ποικίλων συνθηκών που μπορούν να προκαλέσουν ένα σφάλμα ανεπανόρθωτης εξαίρεσης, το πρώτο βήμα όσον αφορά την επίλυσή του είναι να επικεντρωθεί η προσοχή σε συγκεκριμένες πλευρές του θέματος. Για να επικεντρωθείτε στις συγκεκριμένες πλευρές του θέματος, προσπαθήστε να κάνετε καθαρή εκκίνηση του υπολογιστή.

Καθαρή εκκίνηση

Η αντιμετώπιση προβλημάτων καθαρής εκκίνησης αφορά τις μεθόδους για την ελάττωση των θεμάτων που ενδέχεται να προκύψουν λόγω του περιβάλλοντος του υπολογιστή σας. Πολλά ζητήματα που εμφανίζονται κατά τη λειτουργία των Windows ή άλλων προγραμμάτων οφείλονται σε προγράμματα οδήγησης που βρίσκονται σε διένεξη, σε προγράμματα TSR και σε άλλες ρυθμίσεις που φορτώνονται κατά την εκκίνηση του υπολογιστή σας. Για πρόσθετες πληροφορίες σχετικά με την καθαρή εκκίνηση του υπολογιστή, κάντε κλικ στα παρακάτω άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
192926 Τρόπος αντιμετώπισης προβλημάτων καθαρής εκκίνησης στα Windows 98
243039 Τρόπος εκτέλεσης καθαρής εκκίνησης στα Windows 95


Διενέργεια ερωτήματος στη Γνωσιακή Βάση της Microsoft (Knowledge Base)

Για να δείτε εάν το μήνυμα λάθους τεκμηριώνεται στη Γνωσιακή Βάση της Microsoft (Knowledge Base), ακολουθήστε τα εξής βήματα:
  1. Συνδεθείτε με την τοποθεσία Ηλεκτρονικής Υποστήριξης της Microsoft (Microsoft Support Online) στο Web: http://support.microsoft.com/support/
  2. Κάντε κλικ στη σύνδεση Search the KB, κάντε κλικ στη σύνδεση Advanced Search και κατόπιν κάντε κλικ στο στοιχείο Windows 95, Windows 98 ή Windows 98 Δεύτερη Έκδοση (Second Edition) στο πλαίσιο My search is about.
  3. Κάντε κλικ για να επιλέξετε το είδος του ερωτήματος που θέλετε να κάνετε, στο πλαίσιο I want to search by, και κατόπιν πληκτρολογήστε μία ή περισσότερες λέξεις που έχουν σχέση με το θέμα, στο πλαίσιο My search is about. ΣΗΜΕΙΩΣΗ: Ενδεχομένως να θέλετε να αποφύγετε τη χρήση της ακριβούς διεύθυνσης του μηνύματος λάθους κατά την πληκτρολόγηση των λέξεων. Η διεύθυνση μπορεί να είναι διαφορετική σε διαφορετικούς υπολογιστές, αλλά το θέμα πιθανόν είναι το ίδιο. Εάν λάβετε μήνυμα λάθους με "IOS VXD" για παράδειγμα, χρησιμοποιήστε τις λέξεις: ios and vxd and fatal and exception, και κατόπιν κάντε κλικ στο κουμπί Go
  4. Εμφανίζεται τότε μια λίστα άρθρων που περιέχουν τις λέξεις που πληκτρολογήσατε.
  5. Κοιτάξτε τους τίτλους των άρθρων για θέματα που ίσως αφορούν το ζήτημα που έχει προκύψει.

Για πρόσθετες πληροφορίες σχετικά με τον τρόπο διενέργειας ερωτημάτων στη Γνωσιακή Βάση της Microsoft (Knowledge Base), κάντε κλικ στα παρακάτω άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
242450 Τρόπος υποβολής ερωτημάτων στη Γνωσιακή Βάση της Microsoft (Knowledge Base) χρησιμοποιώντας λέξεις-κλειδιά

Περισσότερα άρθρα σχετικά με τα μηνύματα λάθους ανεπανόρθωτης εξαίρεσης



Για πρόσθετες πληροφορίες σχετικά με μηνύματα λάθους ανεπανόρθωτης εξαίρεσης, κάντε κλικ στα παρακάτω άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
133440 Μήνυμα λάθους: Αυτό το πρόγραμμα προκάλεσε μια ανεπανόρθωτη εξαίρεση 0D...
192803 Σφάλμα ανεπανόρθωτης εξαίρεσης 0D κατά τη χρήση προσαρμογέα οθόνης ATI All-in-Wonder Pro
175211 Σφάλμα ανεπανόρθωτης εξαίρεσης κατά το άνοιγμα ή το κλείσιμο του Πίνακα Ελέγχου (Control Panel)
171195 Κατά την αναστολή λειτουργίας και την επαναφορά του υπολογιστή παρουσιάζεται σφάλμα ανεπανόρθωτης εξαίρεσης αν χρησιμοποιείται το πρωτόκολλο MSDLC32
187214 Παρουσιάστηκε ανεπανόρθωτη εξαίρεση 0E στο 0028:C02A0201...
190123 Μήνυμα λάθους: "Παρουσιάστηκε ανεπανόρθωτη εξαίρεση 06 στο..."
Για πρόσθετες πληροφορίες σχετικά με την καθαρή εκκίνηση του υπολογιστή, κάντε κλικ στα παρακάτω άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
192926 Τρόπος αντιμετώπισης προβλημάτων καθαρής εκκίνησης στα Windows 98


ΣΗΜΕΙΩΣΗ: Η παραπάνω λίστα με τα άρθρα δεν είναι πλήρης. Εάν κάποιο από τα άρθρα που αναφέρονται παραπάνω δεν αφορά το ζήτημά σας, ακολουθήστε τα βήματα στην ενότητα "Διενέργεια ερωτήματος στη Γνωσιακή Βάση της Microsoft (Knowledge Base)" σε αυτό το άρθρο για να βρείτε περισσότερες πληροφορίες.

Αναφορές

Microsoft's 80386/80486 Programming Guide, Second Edition

The Indispensable PC Hardware Book, Second Edition

Microsoft Press Computer Dictionary, Second Edition

Ιδιότητες

Αναγν. άρθρου: 150314 - Τελευταία αναθεώρηση: Πέμπτη, 10 Αυγούστου 2006 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows 98 Δεύτερη Έκδοση
  • Microsoft Windows Millennium Edition
Λέξεις-κλειδιά: 
error fault kbinfo kbwinme win95 win98 ανεπανόρθωτης εξαιρέσεις εξαίρεση εξαίρεσης επεξεργαστή σφάλμα σφάλματα KB150314

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com