- Τα μηνύματα σφάλματος υπολογιστή συνήθως υποδεικνύουν βλάβες στα προγράμματα οδήγησης, τη μνήμη, τον δίσκο, τα δικαιώματα ή τις ρυθμίσεις του λειτουργικού συστήματος.
- Οι μπλε οθόνες θανάτου (BSOD) των Windows αναγνωρίζονται από κωδικούς STOP που βοηθούν στον εντοπισμό της πηγής του προβλήματος.
- Ένα καλό μήνυμα σφάλματος θα πρέπει να είναι σχετικό, σαφές, εφαρμόσιμο και να επικεντρώνεται στον χρήστη, αποφεύγοντας περιττή τεχνική ορολογία.
- Στα Windows και το Linux, πολλά σφάλματα επιλύονται με την ενημέρωση των προγραμμάτων οδήγησης και των εργαλείων, τον έλεγχο του υλικού και τη διόρθωση των δικαιωμάτων και των ρυθμίσεων.
Τα μηνύματα σφάλματος υπολογιστή είναι οι προειδοποιήσεις που εμφανίζονται τη χειρότερη δυνατή στιγμή: όταν εργάζεστε, παίζετε παιχνίδια ή απλώς προσπαθείτε να ξεκινήσετε τον υπολογιστή σας. Μερικές φορές είναι σαφή, άλλες φορές αποτελούν πλήρες αίνιγμα και συχνά δεν εξηγούν καν τι συνέβη. Ωστόσο, πίσω από κάθε προειδοποίηση υπάρχει συνήθως μια αρκετά λογική αιτία: βλάβες υλικού , προβλήματα μνήμης, σφάλματα δίσκου, εσφαλμένα εγκατεστημένα προγράμματα οδήγησης ή ένα κατεστραμμένο λειτουργικό σύστημα.
Σε αυτόν τον οδηγό, θα εξετάσουμε σε βάθος τους πιο συνηθισμένους τύπους μηνυμάτων σφάλματος σε έναν υπολογιστή (Windows και Linux), τι σημαίνουν στην πραγματικότητα, πώς διαφέρουν οι συνηθισμένες προειδοποιήσεις από τα σοβαρά σφάλματα (όπως η διαβόητη Μπλε Οθόνη του Θανάτου) και τι μπορείτε να κάνετε για να τα διορθώσετε ή τουλάχιστον να κατανοήσετε τι συμβαίνει. Θα δείτε επίσης πώς πρέπει να γράφονται τα "σωστά" μηνύματα σφάλματος και γιατί τόσα πολλά προγράμματα το κάνουν τόσο άσχημα.
Τυπικά σφάλματα των Windows: προγράμματα οδήγησης, μνήμη και πόροι συστήματος
Μία από τις κλασικές προειδοποιήσεις των Windows είναι αυτή που υποδεικνύει ότι ένα πρόγραμμα οδήγησης συσκευής είναι κατεστραμμένο ή ότι το σύστημα έχει χαμηλή μνήμη ή πόρους , και αναγνωρίζεται ως "Κωδικός 3" στη Διαχείριση Συσκευών. Το πλήρες μήνυμα συνήθως αναφέρει κάτι όπως ότι το πρόγραμμα οδήγησης μπορεί να είναι κατεστραμμένο ή ότι ο υπολογιστής έχει εξαντληθεί, υποδεικνύοντας την απελευθέρωση πόρων ή την εγκατάσταση περισσότερης μνήμης RAM.
Αυτός ο τύπος σφάλματος παρουσιάζεται όταν τα Windows δεν μπορούν να χρησιμοποιήσουν σωστά μια συσκευή (κάρτα δικτύου, κάρτα γραφικών, USB κ.λπ.) είτε επειδή το πρόγραμμα οδήγησης είναι κατεστραμμένο, εσφαλμένα εγκατεστημένο ή παλιό, είτε επειδή το σύστημα έχει τόσο μικρή RAM ή εικονική μνήμη που δεν μπορεί πλέον να διαθέσει περισσότερους πόρους.
Μια βασική αλλά αποτελεσματική πρώτη λύση είναι να κλείσετε εφαρμογές για να ελευθερώσετε μνήμη . Μπορείτε να ανοίξετε τη Διαχείριση Εργασιών με CTRL + ALT + DEL και να ελέγξετε ποιες διεργασίες χρησιμοποιούν RAM και CPU. Εάν το πρόβλημα σχετίζεται με την εικονική μνήμη, μπορείτε να προσαρμόσετε το μέγεθος του αρχείου σελιδοποίησης στις Ιδιότητες Συστήματος, στην καρτέλα "Για προχωρημένους" και στην ενότητα "Απόδοση".
Όταν το πρόβλημα προέρχεται από το πρόγραμμα οδήγησης, συνιστάται να το απεγκαταστήσετε και να το επανεγκαταστήσετε μέσω της Διαχείρισης Συσκευών . Στις ιδιότητες της συσκευής, στην καρτέλα "Πρόγραμμα οδήγησης", μπορείτε να απεγκαταστήσετε το πρόγραμμα οδήγησης, να επανεκκινήσετε τον υπολογιστή σας και, στη συνέχεια, να ζητήσετε από τα Windows να σαρώσουν για αλλαγές υλικού, ώστε να μπορέσουν να εντοπίσουν ξανά τη συσκευή. Σε ορισμένες περιπτώσεις, ίσως χρειαστεί να κατεβάσετε το ενημερωμένο πρόγραμμα οδήγησης από τον ιστότοπο του κατασκευαστή.
Εάν ο υπολογιστής σας λειτουργεί συνεχώς στο όριό του, με επαναλαμβανόμενα σφάλματα μνήμης και μηνύματα ανεπαρκών πόρων, είναι πολύ πιθανό να χρειαστεί να αναβαθμίσετε τη μνήμη RAM . Η προσθήκη περισσότερης μνήμης RAM μετριάζει πολλά σφάλματα που σχετίζονται με "εξάντληση μνήμης", "δεν είναι δυνατή η συνέχιση της εφαρμογής" ή τυχαία σφάλματα.
Κλασικά μηνύματα σφάλματος σε επίπεδο συστήματος και αρχείου

Εκτός από τις προειδοποιήσεις προγραμμάτων οδήγησης, οποιοσδήποτε χρήστης υπολογιστή πιθανότατα έχει συναντήσει συνηθισμένα μηνύματα που υποδεικνύουν προβλήματα με δικαιώματα, συσκευές ή αρχεία . Ενώ η διατύπωση μπορεί να διαφέρει ανάλογα με το λειτουργικό σύστημα, το υποκείμενο μήνυμα είναι γενικά το ίδιο.
Όταν εμφανίζεται το μήνυμα " Δεν επιτρέπεται η πρόσβαση ", αυτό σημαίνει ότι ο χρήστης δεν έχει επαρκή δικαιώματα για την ανάγνωση, την εγγραφή ή την εκτέλεση ενός αρχείου, φακέλου ή πόρου ή ότι η πρόσβαση έχει περιοριστεί από άλλο πρόγραμμα ή χρήστη. Αυτός ο τύπος σφάλματος είναι συνηθισμένος σε συστήματα πολλαπλών χρηστών, προστατευμένους φακέλους ή αρχεία συστήματος.
Το μήνυμα « Η συσκευή δεν είναι έτοιμη » εμφανίζεται συνήθως όταν το σύστημα προσπαθεί να αποκτήσει πρόσβαση σε μια μονάδα δίσκου που δεν είναι έτοιμη : για παράδειγμα, μια μονάδα δισκέτας ή μια αφαιρούμενη μονάδα δίσκου χωρίς τοποθετημένο μέσο ή με ελαττωματικό μέσο. Είναι η κλασική περίπτωση της προσπάθειας ανάγνωσης μιας μονάδας δίσκου που δεν έχει τίποτα να διαβάσει.
Εάν δείτε το μήνυμα " Το αρχείο δεν βρέθηκε " , συνήθως σημαίνει ότι το αρχείο έχει μετακινηθεί, διαγραφεί, μετονομαστεί ή είναι κατεστραμμένο . Θα μπορούσε επίσης να οφείλεται σε ορθογραφικό λάθος του ονόματος (πιο συνηθισμένο στις γραμμές εντολών) ή επειδή η καθορισμένη διαδρομή δεν υπάρχει. Ορισμένα προγράμματα εμφανίζουν επίσης αυτό το μήνυμα όταν το αρχείο είναι κατεστραμμένο και δεν μπορεί να ανοιχτεί σωστά.
Το μήνυμα " Χαμηλός χώρος στον σκληρό δίσκο " εμφανίζεται όταν η μονάδα δίσκου είναι σχεδόν πλήρης. Αυτό μπορεί να προκαλέσει σφάλματα κατά την αποθήκευση εγγράφων, προβλήματα με το αρχείο ανταλλαγής ή προβλήματα κατά την εγκατάσταση προγραμμάτων. Η λύση περιλαμβάνει τη διαγραφή περιττών αρχείων, την εκκαθάριση προσωρινών αρχείων ή τη μετακίνηση δεδομένων σε άλλη μονάδα δίσκου και, σε ακραίες περιπτώσεις, την αναβάθμιση σε μεγαλύτερο σκληρό δίσκο.
Το μήνυμα " Εκτός μνήμης " υποδεικνύει ότι το σύστημα δεν έχει αρκετή διαθέσιμη μνήμη RAM ή προσπαθεί να φορτώσει κάτι πολύ μεγάλο . Η συνήθης λύση είναι να κλείσετε προγράμματα που δεν χρησιμοποιείτε, να αποφύγετε να έχετε ανοιχτές δεκάδες καρτέλες και εφαρμογές και, εάν συμβαίνει συχνά, να εξετάσετε το ενδεχόμενο αναβάθμισης της φυσικής σας μνήμης.
Ιστορικά σφάλματα και μυθικά μηνύματα από λειτουργικά συστήματα

Σε όλη την ιστορία της πληροφορικής, έχουν εμφανιστεί ορισμένα μηνύματα σφάλματος που είναι τόσο περίεργα που έχουν γίνει διάσημα. Ορισμένα συστήματα έχουν εμβληματικές προειδοποιήσεις που οποιοσδήποτε λάτρης των υπολογιστών αναγνωρίζει αμέσως.
Στο MS-DOS, το μήνυμα «Ματαίωση, Επανάληψη, Παράβλεψη;» ήταν πολύ συνηθισμένο — ένα περίπλοκο παράθυρο διαλόγου όπου ο χρήστης έπρεπε να επιλέξει χωρίς να έχει σαφή κατανόηση του τι θα συνέβαινε με κάθε επιλογή. Δεν ήταν ακριβώς ένα μοντέλο καλής χρηστικότητας.
Τα συστήματα AmigaOS είχαν τον περίφημο "Guru Meditation ", ένα είδος "οθόνης θανάτου" που ήταν ειδικό για αυτήν την πλατφόρμα. Στον κόσμο του Unix, το σύγχρονο αντίστοιχο είναι ο "kernel panic ", που υποδεικνύει ότι ο πυρήνας του συστήματος έχει αντιμετωπίσει ένα σφάλμα από το οποίο δεν μπορεί να ανακάμψει.
Στον τομέα ιστού, ένα από τα πιο συνηθισμένα σφάλματα είναι το σφάλμα 404 , το οποίο υποδεικνύει ότι ο διακομιστής αποκρίνεται αλλά ο ζητούμενος πόρος δεν υπάρχει . Αυτό μπορεί να συμβεί επειδή η διεύθυνση URL έχει αλλάξει, το αρχείο έχει διαγραφεί ή απλώς η διεύθυνση έχει γραφτεί λάθος.
Και φυσικά, στα Windows έχουμε την τρομερή Μπλε Οθόνη Θανάτου (BSOD) , η οποία εμφανίζεται όταν το σύστημα ανιχνεύει ένα κρίσιμο σφάλμα στον πυρήνα, τα προγράμματα οδήγησης ή το υλικό και αναγκάζεται να σταματήσει για να αποφύγει περαιτέρω ζημιές.
Μπλε οθόνες των Windows: Κωδικοί STOP και συνήθεις αιτίες
Ένα σφάλμα BSOD ή μπλε οθόνης εμφανίζεται όταν τα Windows αντιμετωπίζουν ένα πρόβλημα που δεν μπορούν να επιλύσουν χωρίς επανεκκίνηση. Στις σύγχρονες εκδόσεις, όπως τα Windows 10 και 11, το τυπικό μήνυμα είναι " Ο υπολογιστής σας αντιμετώπισε πρόβλημα και πρέπει να γίνει επανεκκίνηση ", μαζί με έναν κωδικό διακοπής (STOP) σε δεκαεξαδική μορφή (0x00000050, 0x0000007E, κ.λπ.).
Οι πιο συνηθισμένες αιτίες αυτών των μπλε οθονών είναι ελαττωματικά ή ασύμβατα προγράμματα οδήγησης, κατεστραμμένη μνήμη RAM, σκληροί δίσκοι με κατεστραμμένους τομείς, κατεστραμμένα καλώδια , υπερθέρμανση, ένα παλιό BIOS ή κατεστραμμένα αρχεία συστήματος . Κάθε κωδικός STOP υποδεικνύει μια συγκεκριμένη πηγή του προβλήματος.
Μεταξύ των πιο συνηθισμένων σφαλμάτων είναι, για παράδειγμα, το PAGE_FAULT_IN_NONPAGED_AREA (0x00000050) , το οποίο υποδεικνύει ότι το σύστημα προσπάθησε να αποκτήσει πρόσβαση σε μια περιοχή μνήμης που δεν θα έπρεπε να έχει, συνήθως λόγω ελαττωματικής μνήμης RAM, προβληματικών προγραμμάτων οδήγησης ή κατεστραμμένων τόμων NTFS.
Ο κώδικας IRQL_NOT_LESS_OR_EQUAL (0x0000000A) υποδεικνύει ότι ένα στοιχείο λειτουργίας πυρήνα έχει επιχειρήσει πρόσβαση στη μνήμη με ακατάλληλο επίπεδο προτεραιότητας, ένα συνηθισμένο πρόβλημα με προγράμματα οδήγησης που δεν είναι σωστά γραμμένα ή είναι ασύμβατα . Το σφάλμα KMODE_EXCEPTION_NOT_HANDLED (0x0000001E) παρουσιάζεται όταν ο χειριστής εξαιρέσεων ανιχνεύει ότι μια διεργασία έχει εκτελέσει μια μη έγκυρη εντολή.
Άλλα κλασικά σφάλματα περιλαμβάνουν το DRIVER_IRQL_NOT_LESS_OR_EQUAL (0x000000D1) , το οποίο είναι παρόμοιο με το 0x0A αλλά υποδεικνύει σαφώς ότι ο ένοχος είναι ένα πρόγραμμα οδήγησης, το SYSTEM_SERVICE_EXCEPTION (0x0000003B) , το οποίο υποδεικνύει υπηρεσίες συστήματος ή προγράμματα οδήγησης που δημιουργούν εξαιρέσεις, και το SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (0x0000007E) , το οποίο συνήθως προκαλείται από παλιά ή ασύμβατα προγράμματα οδήγησης.
Θα δείτε επίσης σφάλματα που υποδεικνύουν πιο άμεσα βλάβες υλικού, όπως το MEMORY_MANAGEMENT (0x0000001A) , που σχετίζεται με προβλήματα διαχείρισης μνήμης και ελαττωματικές μονάδες RAM, ή το WHEA_UNCORRECTABLE_ERROR (0x00000124) , που συνδέεται στενά με φυσικές βλάβες της CPU, της μητρικής πλακέτας, της μνήμης RAM ή προβλήματα τάσης και θερμοκρασίας.
Κωδικοί STOP με επίκεντρο τον δίσκο και το σύστημα αρχείων
Όταν το πρόβλημα σχετίζεται με τον δίσκο ή το σύστημα αρχείων, οι κωδικοί STOP βοηθούν στην αναγνώρισή του. Για παράδειγμα, οι κωδικοί STOP 0x00000024 (NTFS_FILE_SYSTEM) ή 0x00000023/0x00000024 (FAT_FILE_SYSTEM / NTFS_FILE_SYSTEM) υποδεικνύουν ότι τα Windows αντιμετωπίζουν δυσκολία στην ανάγνωση ή την εγγραφή σε ένα διαμέρισμα , συνήθως λόγω σφαλμάτων στο ntfs.sys, κατεστραμμένων καλωδίων, κατεστραμμένων τομέων ή κατεστραμμένων συστημάτων αρχείων.
Σε αυτές τις περιπτώσεις, συνιστάται ιδιαίτερα να εκτελέσετε διαγνωστικά εργαλεία από τον κατασκευαστή του εξοπλισμού ή του δίσκου , να απενεργοποιήσετε προσωρινά το πρόγραμμα προστασίας από ιούς, τις ανασυγκροτήσεις ή τα αντίγραφα ασφαλείας που ενδέχεται να επηρεάσουν και να εκτελέσετε την εντολή chkdsk /fo chkdsk /f /r στον επηρεαζόμενο δίσκο για να εντοπίσετε και να απομονώσετε προβληματικούς τομείς.
Το σφάλμα UNMOUNTABLE_BOOT_VOLUME (0x000000ED) εμφανίζεται συνήθως κατά την εκκίνηση και υποδεικνύει ότι τα Windows δεν έχουν πρόσβαση στο διαμέρισμα εκκίνησης . Αυτό μπορεί να οφείλεται σε αλλαγή μητρικής πλακέτας ή ελεγκτή ή σε τροποποιήσεις στις συνδέσεις του δίσκου. Μερικές φορές μπορεί να διορθωθεί με μια εντολή chkdsk από την κονσόλα αποκατάστασης, αλλά άλλες φορές απαιτεί ενδελεχή έλεγχο υλικού και διαμόρφωσης.
Ομοίως, το INACCESSIBLE_BOOT_DEVICE (0x0000007B) υποδεικνύει ότι το σύστημα δεν έχει πρόσβαση στη συσκευή εκκίνησης κατά την εκκίνηση. Συνήθεις αιτίες είναι μια αλλαγή στη λειτουργία SATA του BIOS (RAID/AHCI), ένας εσφαλμένος ελεγκτής αποθήκευσης ή κατεστραμμένα αρχεία εκκίνησης.
Τέλος, σφάλματα όπως το BAD_POOL_HEADER (0x00000019) υποδεικνύουν ζημιά στην κεφαλίδα (pool) της δεσμευμένης περιοχής μνήμης , η οποία συχνά προκαλείται από ασταθή προγράμματα οδήγησης, προβλήματα υλικού ή διενέξεις λογισμικού που κακομεταχειρίζονται τη μνήμη.
BSOD που σχετίζονται με τη μνήμη, τα προγράμματα οδήγησης και την CPU
Υπάρχει μια άλλη οικογένεια μπλε οθονών που σχετίζεται σαφώς με ελαττωματικά προγράμματα οδήγησης, μνήμη RAM και επεξεργαστή . Ένα τυπικό παράδειγμα είναι το STOP 0x00000050 (PAGE_FAULT_IN_NONPAGED_AREA) , το οποίο έχει ήδη συζητηθεί, το οποίο συχνά επιλύεται με την αφαίρεση του πρόσφατα εγκατεστημένου υλικού, την εκτέλεση διαγνωστικών μνήμης, τον έλεγχο των προγραμμάτων οδήγησης και την εκτέλεση του chkdsk εάν το διαμέρισμα είναι NTFS.
Οι κωδικοί STOP 0x0000007E (SYSTEM_THREAD_EXCEPTION_NOT_HANDLED) και 0x0000008E (KERNEL_MODE_EXCEPTION_NOT_HANDLED) υποδεικνύουν ότι ένα νήμα συστήματος ή μια διεργασία λειτουργίας πυρήνα έχει δημιουργήσει μια μη χειριζόμενη εξαίρεση. Αυτές συνήθως σχετίζονται με μη συμβατά προγράμματα οδήγησης ή BIOS, προβληματικό υλικό ή, πολύ συχνά, ελαττωματικά προγράμματα οδήγησης γραφικών (π.χ., από την Nvidia).
Το σφάλμα STOP 0x0000007F (UNEXPECTED_KERNEL_MODE_TRAP) συνήθως σχετίζεται με ελαττωματική μνήμη RAM, ελαττωματική μητρική πλακέτα ή μη συμβατό λογισμικό . Μια συνηθισμένη, τεκμηριωμένη αιτία είναι η αλληλεπίδραση με ορισμένα προγράμματα προστασίας από ιούς, όπως το Norton, σε παλαιότερες εκδόσεις των Windows. Ο έλεγχος της συμβατότητας υλικού και η εκτέλεση δοκιμών μνήμης είναι σχεδόν υποχρεωτικός.
Από την άλλη πλευρά, το STOP 0x0000009F (DRIVER_POWER_STATE_FAILURE) υποδεικνύει προγράμματα οδήγησης που δεν λειτουργούν καλά με τις λειτουργίες εξοικονόμησης ενέργειας , ειδικά σε φορητούς υπολογιστές (ύπνος, αδρανοποίηση κ.λπ.). Η ενημέρωση ή η απενεργοποίηση του προβληματικού προγράμματος οδήγησης, η εκκίνηση σε ασφαλή λειτουργία ή με την πιο πρόσφατη γνωστή και καλή διαμόρφωση και ο έλεγχος λογισμικού που χρησιμοποιεί φίλτρα (antivirus, αντίγραφα ασφαλείας) είναι συνήθως οι λογικές λύσεις.
Ο κωδικός STOP 0x000000EA (THREAD_STUCK_IN_DEVICE_DRIVER) είναι σχεδόν κλασικός στις κάρτες γραφικών : υποδεικνύει ότι ένα πρόγραμμα οδήγησης συσκευής (συνήθως το πρόγραμμα οδήγησης GPU) έχει εισέλθει σε έναν άπειρο βρόχο που επαναλαμβάνει οδηγίες, αφήνοντας το σύστημα χωρίς δυνατότητα ανάκαμψης.
Σοβαρά σφάλματα στην εγγραφή, την απεικόνιση και την επαλήθευση μηχανήματος
Όταν το πρόβλημα επηρεάζει το μητρώο ή τα ίδια τα δυαδικά αρχεία του συστήματος, εμφανίζονται σφάλματα όπως το STOP 0xC0000218 (UNKNOWN_HARD_ERROR) , τα οποία υποδεικνύουν κατεστραμμένα ή διαγραμμένα αρχεία μητρώου ή ακόμα και ελαττωματικές μονάδες RAM . Σε αυτές τις περιπτώσεις, το σύστημα συχνά δεν εκκινείται κανονικά.
Ο κωδικός STOP 0xC000021A (STATUS_SYSTEM_PROCESS_TERMINATED) υποδεικνύει ότι μια κρίσιμη διεργασία λειτουργίας χρήστη , όπως το Winlogon ή το CSRSS, έχει αποτύχει. Η αιτία είναι συνήθως μη συμβατό λογισμικό ή προγράμματα οδήγησης και συχνά απαιτεί έλεγχο πρόσφατων εγκαταστάσεων, απεγκατάσταση προγραμμάτων οδήγησης και, στη χειρότερη περίπτωση, επιδιόρθωση ή επανεγκατάσταση των Windows.
Με την εντολή STOP 0xC0000221 (STATUS_IMAGE_CHECKSUM_MISMATCH) , τα Windows εντοπίζουν ότι το άθροισμα ελέγχου ενός αρχείου συστήματος ή προγράμματος οδήγησης δεν ταιριάζει με την αναμενόμενη τιμή. Αυτό υποδεικνύει ότι το αρχείο έχει τροποποιηθεί, είναι κατεστραμμένο ή υπάρχουν προβλήματα κατά την ανάγνωσή του από δίσκο ή μνήμη RAM . Το σύστημα υπολογίζει ένα άθροισμα ελέγχου κατά τη φόρτωση του αρχείου και, εάν δεν ταιριάζει με το αποθηκευμένο άθροισμα ελέγχου, εμφανίζει αυτό το σφάλμα.
Τέλος, το STOP 0x0000009C (MACHINE_CHECK_EXCEPTION) σχετίζεται άμεσα με ανεπανόρθωτα σφάλματα υλικού που εντοπίζονται από τον επεξεργαστή . Τεχνολογίες όπως η Εξαίρεση Ελέγχου Μηχανής (MCE) ή η Αρχιτεκτονική Ελέγχου Μηχανής (MCA) σε επεξεργαστές Pentium και νεότερα μοντέλα ειδοποιούν τα Windows ότι κάτι σοβαρό έχει αποτύχει σε φυσικό επίπεδο (επεξεργαστής, μητρική πλακέτα, μνήμη κ.λπ.), μερικές φορές ως συνέπεια του overclocking . Η συγκεκριμένη διάγνωση συνήθως δεν είναι απλή και συχνά απαιτεί την παρέμβαση του κατασκευαστή ή ενός εξειδικευμένου τεχνικού.
Ενόψει όλων αυτών των σφαλμάτων, εκτός από τις συγκεκριμένες ενέργειες για κάθε κώδικα, είναι πολύ χρήσιμο να χρησιμοποιείτε εργαλεία όπως το DISM /Online /Cleanup-Image /RestoreHealth και το System File Checker , καθώς και να ελέγχετε το Event Viewer και τα minidumps για να βελτιώσετε τη διάγνωση.
Συνηθισμένα σφάλματα και παράξενα μηνύματα από "κανονικά" Windows
Δεν περιλαμβάνουν όλα τα μηνύματα σφάλματος στα Windows μπλε οθόνες ή καταστροφές. Πολλά είναι ειδοποιήσεις εφαρμογών, παράθυρα διαλόγου ή ειδοποιήσεις που αναφέρουν λίγο-πολύ μικρά προβλήματα, αν και δεν είναι πάντα καλογραμμένα.
Ορισμένα μηνύματα είναι γελοία παράλογα, όπως η προειδοποίηση ότι «Η ενέργεια μπορεί να διαρκέσει λίγο» με γελοίες εκτιμήσεις όπως «127 χρόνια» κατά την αντιγραφή αρχείων. Ή παράθυρα διαλόγου αναφοράς σφαλμάτων που αποτυγχάνουν με τη σειρά τους , δημιουργώντας το ένα σφάλμα μέσα στο άλλο.
Ένα άλλο παράδειγμα είναι οι υπερβολικές απαιτήσεις, όπως ένα μήνυμα των Windows 2000 που απαιτούσε παράλογα μεγάλους κωδικούς πρόσβασης (πάνω από 18.000 χαρακτήρες) . Ή γενικές προειδοποιήσεις τύπου " Ποιο είναι το πρόβλημα; " που αναφέρουν πιθανούς κινδύνους ασφαλείας χωρίς να εξηγούν τίποτα χρήσιμο και τις οποίες οι περισσότεροι άνθρωποι κλείνουν χωρίς να τις διαβάσουν.
Μηνύματα όπως «Πατήστε οποιοδήποτε πλήκτρο για να συνεχίσετε» είναι επίσης συνηθισμένα , ακόμα και όταν το πληκτρολόγιο δεν λειτουργεί , ή σφάλματα που ισχυρίζονται ότι «το πρόβλημα είναι τα Windows Vista» ενώ στην πραγματικότητα προκαλείται από προγράμματα οδήγησης ή εφαρμογές τρίτων κατασκευαστών. Και ας μην ξεχνάμε τα ψευδώς θετικά που φαίνονται σοβαρά σφάλματα, αλλά στην πραγματικότητα δεν είναι κάτι ανησυχητικό.
Ακόμα και σε σύγχρονα συστήματα όπως τα Windows 10, έχουν εμφανιστεί μηνύματα όπως "Κάτι συνέβη" κατά τη διάρκεια ενημερώσεων—μια φράση που μπορεί να έχει νόημα για τους προγραμματιστές εσωτερικά, αλλά δεν εξηγεί απολύτως τίποτα στον χρήστη. Και, φυσικά, υπάρχουν αυτά τα αναδυόμενα παράθυρα που σας εμποδίζουν να τερματίσετε ή να επανεκκινήσετε τη συσκευή μέχρι να κάνετε κλικ σε ένα μήνυμα που δεν προσφέρει καμία χρήσιμη πληροφορία.
Πώς πρέπει να μοιάζουν τα καλά μηνύματα σφάλματος, σύμφωνα με τη Microsoft
Η Microsoft έχει δημοσιεύσει πολύ λεπτομερείς οδηγούς σχετικά με τον τρόπο σχεδίασης χρήσιμων μηνυμάτων σφάλματος στα Windows , ειδικά για τα Windows 7 και νεότερες εκδόσεις, αλλά εφαρμόσιμους σε σχεδόν οποιοδήποτε λογισμικό. Η ιδέα είναι σαφής: ένα καλό μήνυμα θα πρέπει να αναφέρει ένα πραγματικό πρόβλημα, να εξηγεί γιατί συνέβη και να προσφέρει μια συγκεκριμένη λύση.
Ένα καλογραμμένο μήνυμα σφάλματος θα πρέπει να είναι σχετικό με τον χρήστη, εφαρμόσιμο, επικεντρωμένο στην εργασία, σύντομο, σαφές, συγκεκριμένο, ευγενικό και σπάνιο . Με άλλα λόγια, θα πρέπει να μιλάει τη γλώσσα του χρήστη, όχι του μεταγλωττιστή, και να μην εμφανίζεται κάθε δύο λεπτά χωρίς λόγο.
Συνιστάται να αποφεύγετε τα περιττά μηνύματα , ειδικά όταν ο χρήστης δεν μπορεί να κάνει τίποτα ή η κατάσταση δεν αποτελεί πρόβλημα για αυτόν. Για παράδειγμα, εάν προσπαθήσει να διαγράψει ένα αρχείο που δεν υπάρχει πλέον, από την οπτική γωνία του χρήστη ο στόχος (η εξαφάνιση του αρχείου) έχει ήδη επιτευχθεί, επομένως δεν έχει νόημα να εμφανίζεται σφάλμα.
Τονίζεται επίσης ότι η πρόληψη σφαλμάτων μέσω καλού σχεδιασμού είναι προτιμότερη από τον βομβαρδισμό των χρηστών με προειδοποιήσεις. Η χρήση στοιχείων ελέγχου που επιτρέπουν μόνο έγκυρες τιμές (λίστες, επιλογείς ημερομηνίας/ώρας, πλαίσια ελέγχου κ.λπ.), η απενεργοποίηση κουμπιών όταν η ενέργεια είναι άσκοπη και η παροχή καλών προεπιλεγμένων τιμών μειώνουν σημαντικά την πιθανότητα σφαλμάτων.
Τέλος, είναι σημαντικό να τονιστεί ότι τα μηνύματα δεν πρέπει να κατηγορούν ή να χλευάζουν τον χρήστη . Φράσεις που ακούγονται κατηγορηματικές ή όροι όπως «καταστροφικό», «παράνομο» ή παρόμοιοι, το μόνο που κάνουν είναι να τρομάζουν τους ανθρώπους και να μην προσφέρουν τίποτα. Είναι καλύτερο να επικεντρωθείτε στο πρόβλημα και στον τρόπο επίλυσής του, χωρίς να κατηγορείτε.
Μοτίβα χρήσης: σφάλματα συστήματος, αρχεία, ασφάλεια και εισαγωγή δεδομένων
Η Microsoft κατηγοριοποιεί τα σφάλματα σε διάφορες ομάδες με βάση τη φύση τους. Τα προβλήματα συστήματος επηρεάζουν το λειτουργικό σύστημα, τις συσκευές υλικού, το δίκτυο ή το ίδιο το πρόγραμμα όταν δεν βρίσκονται στη σωστή κατάσταση για να ολοκληρώσουν μια εργασία. Πολλά από αυτά μπορούν να επιλυθούν ενεργοποιώντας συσκευές, επανασυνδέοντας καλώδια ή επανεκκινώντας υπηρεσίες.
Έπειτα, υπάρχουν προβλήματα αρχείων , τα οποία προκύπτουν όταν ένα αρχείο ή φάκελος λείπει, χρησιμοποιείται ήδη από άλλη διεργασία ή η μορφή του δεν είναι συμβατή. Σε αυτές τις περιπτώσεις, τα μηνύματα θα πρέπει να υποδεικνύουν με σαφήνεια ποιο συγκεκριμένο αρχείο παρουσιάζει σφάλμα και γιατί, αντί για ένα γενικό "σφάλμα αρχείου".
Προβλήματα ασφαλείας προκύπτουν όταν ένας χρήστης δεν διαθέτει τα απαραίτητα δικαιώματα πρόσβασης σε έναν πόρο ή επαρκή δικαιώματα για την εργασία που επιχειρεί. Αντί για κρυπτογραφημένα μηνύματα, είναι προτιμότερο να υποδεικνύεται σαφώς η άδεια που λείπει και να προτείνεται, για παράδειγμα, η χρήση ενός λογαριασμού με υψηλότερα δικαιώματα ή το αίτημα πρόσβασης διαχειριστή.
Διακρίνονται επίσης προβλήματα εργασιών , τα οποία αναφέρονται σε συγκεκριμένα σφάλματα κατά την εκτέλεση μιας λειτουργίας (επικόλληση από το πρόχειρο σε μια εφαρμογή που δεν υποστηρίζει αυτόν τον τύπο δεδομένων, αποτυχίες κατά την εγκατάσταση ενημερώσεων κ.λπ.) και προβλήματα εισαγωγής δεδομένων από τον χρήστη , που προκαλούνται από τιμές με κακή μορφοποίηση, εσφαλμένα εύρη ή ασυνέπειες μεταξύ πεδίων.
Στην τελευταία περίπτωση, είναι συνήθως καλή ιδέα να υποδεικνύετε το σφάλμα ακριβώς δίπλα στο πεδίο που επηρεάζεται και, ει δυνατόν, κατά την πληκτρολόγηση (σφάλματα εντός πλαισίου ή μπαλόνια), αντί να στοιβάζετε όλα τα σφάλματα σε ένα παράθυρο διαλόγου στο τέλος χωρίς να υποδεικνύετε πού βρίσκεται το καθένα.
Βέλτιστες πρακτικές κατά την παρουσίαση μηνυμάτων σφάλματος
Ο τρόπος με τον οποίο παρουσιάζεται ένα σφάλμα είναι σχεδόν εξίσου σημαντικός με το περιεχόμενό του. Ένα παράθυρο διαλόγου που μπλοκάρει τα πάντα δεν είναι το ίδιο με ένα μικρό, συμφραζόμενο μήνυμα ή μια διακριτική ειδοποίηση. Ιδανικά, θα πρέπει να χρησιμοποιήσετε τη λιγότερο παρεμβατική μέθοδο που είναι αποτελεσματική για το συγκεκριμένο πρόβλημα.
Για μικρά σφάλματα φόρμας (π.χ., ορθογραφικό λάθος στην ώρα), είναι προτιμότερο να χρησιμοποιείτε μηνύματα ή συννεφάκια με βάση τα συμφραζόμενα δίπλα στο προβληματικό πεδίο, χωρίς εικονίδια συναγερμού. Εάν το σφάλμα εντοπιστεί όταν πατηθεί ένα κουμπί επιβεβαίωσης, μπορεί να εμφανιστεί ένα μικρό εικονίδιο δίπλα στο πεδίο που επηρεάζεται, εμποδίζοντας τον χρήστη να χρειαστεί να καταλάβει τι πήγε στραβά.
Τα παράθυρα διαλόγου τύπου modal θα πρέπει να προορίζονται για προβλήματα που απαιτούν άμεση δράση πριν από τη συνέχιση, όπως η αδυναμία αποθήκευσης ενός αρχείου ή μια σοβαρή βλάβη συσκευής. Σε αυτές τις περιπτώσεις, συνιστάται η χρήση του κατάλληλου εικονιδίου σφάλματος (όχι εικονιδίου προειδοποίησης) και απλού κειμένου, με μια σύντομη κύρια οδηγία και, εάν είναι απαραίτητο, μια συμπληρωματική εξήγηση.
Για πιο τεχνικά ή σπάνια σφάλματα που ενδέχεται να απαιτούν προηγμένη διάγνωση, μπορούν να παρέχονται πρόσθετες λεπτομέρειες μέσω του κουμπιού "Εμφάνιση λεπτομερειών" , έτσι ώστε οι περισσότεροι χρήστες να μην κατακλύζονται από περιττές πληροφορίες, αλλά η τεχνική υποστήριξη διαθέτει χρήσιμα δεδομένα, όπως κωδικούς σφάλματος ή διαδρομές.
Είναι επίσης σημαντικό να δώσετε προσοχή στο κείμενο του κουμπιού . Για σφάλματα, είναι προτιμότερο να χρησιμοποιήσετε την επιλογή "Κλείσιμο" αντί για "OK", καθώς δεν υπάρχει τίποτα προς "αποδοχή" σε περίπτωση σφάλματος. Εάν το σφάλμα απαιτεί το κλείσιμο του προγράμματος, ένα κουμπί όπως "Έξοδος από το πρόγραμμα" είναι πολύ πιο σαφές από ένα απλό, ασαφές "Κλείσιμο".
Συνηθισμένα σφάλματα σε συστήματα Linux και τυπικά μηνύματα
Στον κόσμο του Linux, τα μηνύματα σφάλματος είναι επίσης αρκετά περίπλοκα. Πολλά εμφανίζονται κατά την εκκίνηση ή τον τερματισμό λειτουργίας, και άλλα κατά τη χρήση εργαλείων κονσόλας. Ένα κλασικό παράδειγμα είναι όταν τα modprobe, insmod ή rmmod παραπονιούνται ότι δεν μπορούν να βρουν μια συγκεκριμένη ενότητα του πυρήνα. Εάν αυτή η ενότητα δεν είναι πραγματικά απαραίτητη, μπορείτε να προσθέσετε μια γραμμή όπως `alias <module-name> off` σε αρχεία όπως `/etc/modules.conf` ή `/etc/modutils/aliases` για να σιγήσετε την προσπάθεια φόρτωσης.
Ένα άλλο συνηθισμένο μήνυμα είναι το " Άγνωστος τύπος τερματικού " ή παρόμοιο, το οποίο υποδεικνύει έναν λανθασμένα διαμορφωμένο τύπο τερματικού . Μερικές φορές, η απλή προσαρμογή της αντίστοιχης καταχώρησης στο /etc/termcap ή η αλλαγή της μεταβλητής TERM σε "console" ή "linux" είναι αρκετή για να αναγνωρίσουν σωστά οι εφαρμογές το περιβάλλον του τερματικού.
Τα δίκτυα εμφανίζουν επίσης προειδοποιήσεις όπως « INET: Warning: old style ioctl called », οι οποίες υποδηλώνουν ότι χρησιμοποιούνται παρωχημένα βοηθητικά προγράμματα ρύθμισης παραμέτρων δικτύου . Η λύση περιλαμβάνει την ενημέρωση εργαλείων όπως το ifconfig, το route και άλλα σε πιο πρόσφατες εκδόσεις (για παράδειγμα, το πακέτο net-tools ή την αντικατάστασή τους με το iproute2), όπως συνιστάται στους οδηγούς NET-2 και NET-3 HOWTO.
Σε επίπεδο μεταγλώττισης, σφάλματα όπως "ld: unrecognized option '-m486'" υποδεικνύουν ότι χρησιμοποιείται μια παλαιότερη έκδοση του binutils ή του ld, η οποία δεν αναγνωρίζει συγκεκριμένες επιλογές. Η ενημέρωση του πακέτου binutils σε μια σύγχρονη έκδοση συνήθως επιλύει το πρόβλημα αμέσως.
Μηνύματα όπως « εσωτερικό σφάλμα μεταγλώττισης » στο GCC, εάν εμφανίζονται επανειλημμένα στο ίδιο σημείο ακόμα και μετά την επανεκκίνηση, συνήθως αποτελούν ένδειξη σφάλματος μεταγλώττισης ή ασταθούς υλικού (RAM, CPU, κ.λπ.). Εάν το σφάλμα επιμένει μετά την ενημέρωση του GCC και τον έλεγχο της μνήμης και του δίσκου, η σωστή πορεία δράσης είναι να το αναφέρετε ακολουθώντας τις οδηγίες στην τεκμηρίωση του GCC.
Προβλήματα με δικαιώματα, utmp και εγγραφή δίσκου στο Linux
Υπάρχουν προειδοποιήσεις Linux που συχνά εντοπίζονται σε λανθασμένα διαμορφωμένα συστήματα. Για παράδειγμα, η εντολή " Shell-init: Permission denied " κατά τη σύνδεση συνήθως οφείλεται στο ότι ο αρχικός κατάλογος ή ένας γονικός κατάλογος δεν διαθέτει δικαιώματα ανάγνωσης και εκτέλεσης για τον χρήστη . Η προσαρμογή των δικαιωμάτων με το chmod, ακολουθώντας τις βέλτιστες πρακτικές του Unix, συνήθως επιλύει αυτό το πρόβλημα.
Το μήνυμα " Δεν υπάρχει καταχώρηση utmp. Πρέπει να εκτελέσετε... " υποδεικνύει ότι το αρχείο /var/run/utmp είναι κατεστραμμένο, λείπει ή δεν δημιουργείται κατά την εκκίνηση. Πρέπει να βεβαιωθείτε ότι τα σενάρια εκκίνησης (rc.local, rc.d, κ.λπ.) δημιουργούν αυτό το αρχείο και, σε παλαιότερα συστήματα, να ελέγξετε επίσης διαδρομές όπως /var/adm/ ή /etc/.
Όταν εμφανίζεται η προειδοποίηση « το bdflush δεν εκτελείται », σημαίνει ότι το σύστημα χρησιμοποιεί έναν παλαιότερο μηχανισμό εγγραφής μπλοκ δίσκου (όπως την κλασική «ενημέρωση» κάθε 30 δευτερόλεπτα) αντί για τον σύγχρονο δαίμονα bdflush ή το ισοδύναμό του. Η μεταγλώττιση και η εγκατάσταση του bdflush και η εκτέλεσή του πριν από τους ελέγχους του συστήματος αρχείων βελτιώνει την απόδοση και την αξιοπιστία της προσωρινής μνήμης του δίσκου.
Μια άλλη συνηθισμένη προειδοποίηση είναι η « EXT2-fs: προειδοποίηση: τοποθέτηση μη ελεγμένου συστήματος αρχείων », η οποία υποδεικνύει ότι έχει τοποθετηθεί ένα διαμέρισμα ext2 που δεν έχει ελεγχθεί. Η εκτέλεση της εντολής e2fsck (ή fsck -t ext2) με την κατάλληλη επιλογή για την εκκαθάριση της σημαίας «βρώμικο» και η διασφάλιση ότι το διαμέρισμα έχει αποσυνδεθεί σωστά σε κάθε τερματισμό λειτουργίας αποτρέπει αυτό το μήνυμα.
Εν ολίγοις, τα περισσότερα σφάλματα του Linux, όπως και στα Windows, επιλύονται με την ενημέρωση του λογισμικού, τον έλεγχο των δικαιωμάτων, τη διόρθωση των ρυθμίσεων και την επαλήθευση του υλικού . Το να γνωρίζετε πώς να ερμηνεύετε το συγκεκριμένο μήνυμα και πού να ψάξετε (αρχεία καταγραφής, dmesg, syslog) είναι η μισή μάχη.
Αυτή η συλλογή μηνυμάτων, από τα πιο χιουμοριστικά έως τα πιο επικριτικά, καταδεικνύει ότι η κατανόηση των μηνυμάτων σφάλματος του υπολογιστή είναι το κλειδί για τη διατήρηση ενός σταθερού συστήματος: βοηθούν στην έγκαιρη ανίχνευση προβληματικών προγραμμάτων οδήγησης, δίσκων που πρόκειται να παρουσιάσουν βλάβη, ελαττωματικής μνήμης RAM ή κακώς διαμορφωμένων ρυθμίσεων δικτύου και παρέχουν επίσης καθοδήγηση για το πώς να γράψετε καλύτερο λογισμικό, ώστε ο χρήστης να μην χρειάζεται να παλεύει με άχρηστες ή ακατανόητες προειδοποιήσεις.