Αναλύοντας μια χωματερή μνήμης ή πώς να προσδιορίσετε την αιτία του BSoD; Πώς να χρησιμοποιήσετε μια ένδειξη αποθήκευσης μνήμης για να προσδιορίσετε το πρόγραμμα οδήγησης που προκαλεί το BSOD

Η αιτία των κρίσιμων σφαλμάτων των Windows που συνοδεύονται από μπλε οθόνες (BSOD) είναι συχνά ένα πρόγραμμα οδήγησης - πρόσφατα εγκατεστημένο ή κατεστραμμένο. Αφού προσδιορίσετε ποιο πρόγραμμα οδήγησης προκαλεί το σφάλμα, μπορείτε να αρχίσετε να επιδιορθώνετε το πρόβλημα: ενημερώστε το πρόγραμμα οδήγησης, επαναφέρετε σε προηγούμενη έκδοση, εγκαταστήστε ξανά ή αφαιρέστε την εφαρμογή που εγκατέστησε το πρόγραμμα οδήγησης κ.λπ. Το όνομα του προγράμματος οδήγησης δεν εμφανίζεται πάντα με μπλε χρώμα οθόνη. Ωστόσο, υπάρχει ένας πολύ απλός τρόπος που σας επιτρέπει να αναγνωρίσετε το προβληματικό πρόγραμμα οδήγησης μέσα σε λίγα λεπτά χρησιμοποιώντας μια ένδειξη μνήμης.

Βήμα 1 — Ενεργοποιήστε την εγγραφή απόρριψης μνήμης

Πρώτα πρέπει να βεβαιωθείτε ότι είναι ενεργοποιημένη η καταγραφή απόρριψης. Για να το κάνετε αυτό, ανοίξτε τις ιδιότητες συστήματος πατώντας το συνδυασμό πλήκτρων Win+Pause, [στα Vista κάντε κλικ στον σύνδεσμο Προηγμένες ρυθμίσεις συστήματος], μεταβείτε στην καρτέλα Επιπροσθέτως, και τέλος πατήστε το κουμπί.

ΜικρόΟι χωματερές μνήμης θα πρέπει να είναι επαρκείς για τους σκοπούς μας.

Δώστε προσοχή στη διαδρομή προς το φάκελο όπου θα αποθηκευτούν εάν παρουσιαστεί κρίσιμο σφάλμα.

Τώρα μπορείτε να αρχειοθετήσετε το αρχείο και να το επισυνάψετε σε μια ανάρτηση στο φόρουμ Αντιμετώπιση κρίσιμων σφαλμάτων των Windowsκαι περιμένετε μέχρι κάποιος να σας πει το όνομα του προβληματικού οδηγού :) Αλλά μπορείτε να το κάνετε μόνοι σας χωρίς μεγάλη προσπάθεια.

Βήμα 2 — Ανάλυση χωματερών με χρήση του βοηθητικού προγράμματος MinDumper

Θα βρείτε μια ιστορία σχετικά με το βοηθητικό πρόγραμμα σε αυτό το άρθρο.

  1. Κατεβάστε και εγκαταστήστε τα Εργαλεία εντοπισμού σφαλμάτων για Windows. Περιλαμβάνονται στο πρόγραμμα εγκατάστασης web των Windows SDK, όπου μετά την εκκίνηση πρέπει να επιλέξετε Εργαλεία εντοπισμού σφαλμάτων στην ενότητα Κοινά βοηθητικά προγράμματα.
  2. Κατεβάστε σενάριο(kdfe.cmd), το οποίο γράφτηκε από τον Alexander Sukhovey και δημοσιεύτηκε στον πόρο sysadmins.ru(καθώς δεν μπορούσα να βρω ζωντανό σύνδεσμο εκεί, προσφέρω το δικό μου). Αποσυμπιέστε το αρχείο σε οποιονδήποτε φάκελο.
    Σημείωση. Εάν η θέση του φακέλου Program Files δεν είναι τυπική, ίσως χρειαστεί να καθορίσετε στο kdfe.cmd τη διαδρομή προς το φάκελο όπου είναι εγκατεστημένα τα Εργαλεία εντοπισμού σφαλμάτων για Windows. Χρησιμοποιήστε τη μεταβλητή dbgpath στη γραμμή 41.

Βήμα 3 - Ανάλυση του Memory Dump

Τώρα όλα καταλήγουν στην εκτέλεση μιας εντολής. Ανοίξτε μια γραμμή εντολών και μεταβείτε στον φάκελο από τον οποίο πραγματοποιήσατε εξαγωγή kdfe.cmd. Εκτελέστε το αρχείο, καθορίζοντας τη διαδρομή προς το αρχείο ένδειξης σφαλμάτων μνήμης ως παράμετρο (στο παρακάτω παράδειγμα το αρχείο ονομάζεται Mini1110307-01.dmp)

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

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

Γιατί μπορεί να χρειαζόμαστε αυτό το περιεχόμενο, π.χ. Απόθεση μνήμης των Windows? Ίσως η πιο κοινή χρήση μιας ένδειξης αποθήκευσης μνήμης είναι η μελέτη των αιτιών μιας αποτυχίας συστήματος (), η οποία προκάλεσε την πλήρη διακοπή του λειτουργικού συστήματος. Εκτός από αυτό, η κατάσταση μνήμης μπορεί να χρησιμοποιηθεί για άλλους σκοπούς. Είναι επίσης σημαντικό ότι η ένδειξη μνήμης είναι κυριολεκτικά ο μόνος τρόπος για να λάβετε πληροφορίες για οποιαδήποτε αποτυχία! Και η λήψη (απόκτηση) ένδειξης αποθήκευσης μνήμης συστήματος είναι, στην πραγματικότητα, η μόνη ακριβής μέθοδος για τη λήψη στιγμιαίου δακτυλικού αποτυπώματος (αντίγραφου) των περιεχομένων της φυσικής μνήμης του συστήματος.

Όσο ακριβέστερα τα περιεχόμενα της χωματερής αντικατοπτρίζουν την κατάσταση της μνήμης τη στιγμή της βλάβης, τόσο πιο λεπτομερώς θα μπορούμε να αναλύσουμε την κατάσταση έκτακτης ανάγκης. Επομένως, είναι εξαιρετικά σημαντικό να αποκτήσετε ένα ενημερωμένο αντίγραφο της φυσικής μνήμης του συστήματος σε ένα αυστηρά καθορισμένο χρονικό σημείο αμέσως πριν από την αποτυχία. Και ο μόνος τρόπος για να γίνει αυτό είναι να δημιουργήσετε ένα πλήρες crash dump. Ο λόγος είναι αρκετά ασήμαντος - όταν εμφανίζεται μια πτώση της μνήμης του συστήματος, είτε ως αποτέλεσμα μιας αστοχίας είτε ως αποτέλεσμα μιας τεχνητά προσομοιωμένης κατάστασης, το σύστημα αυτή τη στιγμή λήψης του ελέγχου των λειτουργιών έκτακτης ανάγκης (KeBugCheckEx) βρίσκεται σε απολύτως αμετάβλητη (στατική) κατάσταση, επομένως, από τη στιγμή που εμφανίζεται η αποτυχία και τη στιγμή που τα δεδομένα εγγράφονται στο μέσο, ​​τίποτα δεν αλλάζει τα περιεχόμενα της φυσικής μνήμης και εγγράφεται στον δίσκο στην αρχική της κατάσταση. Λοιπόν, αυτό είναι στη θεωρία, αλλά περιστασιακά στη ζωή, αλλά υπάρχουν περιπτώσεις όπου, λόγω ελαττωματικών στοιχείων υλικού, η ίδια η ένδειξη μνήμης μπορεί να καταστραφεί ή ο σταθμός μπορεί να παγώσει κατά την εγγραφή της ένδειξης.

Στη συντριπτική πλειονότητα των περιπτώσεων, από τη στιγμή που ξεκινά η διαδικασία δημιουργίας ενός crash memory dump μέχρι το τέλος της εγγραφής των περιεχομένων της μνήμης στο δίσκο, οι πληροφορίες στη μνήμη παραμένουν αμετάβλητες.

Θεωρητικά, η στατική (αμετάβλητη) του «δακτυλικού αποτυπώματος» της μνήμης εξηγείται από το γεγονός ότι όταν καλείται η συνάρτηση KeBugCheckEx, η οποία εμφανίζει πληροφορίες σχετικά με την αποτυχία και ξεκινά τη διαδικασία δημιουργίας μιας ένδειξης αποθήκευσης μνήμης, το σύστημα έχει ήδη σταματήσει τελείως και Τα περιεχόμενα της φυσικής μνήμης εγγράφονται σε μπλοκ που καταλαμβάνονται στο δίσκο από το αρχείο σελιδοποίησης, μετά από το οποίο, κατά την επακόλουθη φόρτωση του λειτουργικού συστήματος, επαναφέρεται σε ένα αρχείο στο μέσο του συστήματος. Λοιπόν, σχεδόν μια φορά παρατήρησα μια κατάσταση όπου μια ελαττωματική μητρική πλακέτα δεν μου επέτρεπε να αποθηκεύσω μια ένδειξη αποθήκευσης μνήμης: α) πάγωμα ενώ εκτελούσε η λογική αποθήκευσης dump (η διαδικασία δεν έφτασε το 100%), β) ζημιά στο αρχείο ένδειξης σφαλμάτων μνήμης ( ο εντοπιστής σφαλμάτων παραπονέθηκε για δομές), γ ) εγγραφή αρχείων μνήμης.dmp μηδενικού μήκους. Επομένως, παρά το γεγονός ότι το σύστημα έχει ήδη σταματήσει εντελώς τη στιγμή που δημιουργείται η ένδειξη αποθήκευσης μνήμης και εκτελείται μόνο ο κωδικός έκτακτης ανάγκης, το ελαττωματικό υλικό μπορεί να κάνει προσαρμογές σε οποιαδήποτε λογική χωρίς εξαίρεση σε οποιοδήποτε στάδιο λειτουργίας.
Παραδοσιακά, στο αρχικό στάδιο, τα μπλοκ δίσκου που εκχωρούνται στο αρχείο σελίδας χρησιμοποιούνται για την αποθήκευση μιας ένδειξης ένδειξης μνήμης των Windows. Στη συνέχεια, μετά από μια μπλε οθόνη και επανεκκίνηση, τα δεδομένα μετακινούνται σε ένα ξεχωριστό αρχείο και, στη συνέχεια, το αρχείο μετονομάζεται χρησιμοποιώντας ένα μοτίβο ανάλογα με τον τύπο της ένδειξης. Ωστόσο, ξεκινώντας με την έκδοση των Windows Vista, αυτή η κατάσταση μπορεί να αλλάξει τώρα στον χρήστη η ευκαιρία να αποθηκεύσει μια επιλεγμένη ένδειξη χωρίς τη συμμετοχή ενός αρχείου σελιδοποίησης, τοποθετώντας πληροφορίες σχετικά με την αποτυχία σε ένα προσωρινό αρχείο. Αυτό έγινε για να εξαλειφθούν τα σφάλματα διαμόρφωσης που σχετίζονται με λανθασμένες ρυθμίσεις του μεγέθους και της θέσης του αρχείου σελιδοποίησης, οι οποίες συχνά οδηγούσαν σε προβλήματα κατά τη διαδικασία αποθήκευσης μιας ένδειξης αποθήκευσης μνήμης.
Ας δούμε ποιους τύπους χωματερών μας επιτρέπει να δημιουργήσουμε το λειτουργικό σύστημα Windows:

  • Απόθεση μνήμης διεργασίας (εφαρμογής).
  • Απόθεση μνήμης πυρήνα.
  • Πλήρης εναπόθεση μνήμης (απόθεση του διαθέσιμου τμήματος της φυσικής μνήμης του συστήματος).

Όλα τα crash dump μπορούν να χωριστούν σε δύο κύριες κατηγορίες:

  • Καταρρίψεις σφαλμάτων με πληροφορίες σχετικά με την εξαίρεση που προέκυψε. Συνήθως δημιουργούνται αυτόματα όταν εμφανίζεται μια μη χειριζόμενη εξαίρεση στην εφαρμογή/πυρήνα και, κατά συνέπεια, μπορεί να κληθεί ο (ενσωματωμένος) εντοπισμός σφαλμάτων του συστήματος. Σε αυτήν την περίπτωση, οι πληροφορίες σχετικά με την εξαίρεση καταγράφονται σε ένα απόθεμα, το οποίο διευκολύνει τον προσδιορισμό του τύπου της εξαίρεσης και του σημείου που συνέβη κατά τη διάρκεια της επακόλουθης ανάλυσης.
  • Πληροφορίες crash dumps χωρίς εξαίρεση. Συνήθως δημιουργείται χειροκίνητα από τον χρήστη όταν είναι απαραίτητο να δημιουργηθεί απλώς ένα στιγμιότυπο μιας διαδικασίας για μεταγενέστερη ανάλυση. Αυτή η ανάλυση δεν συνεπάγεται τον προσδιορισμό του τύπου της εξαίρεσης, αφού δεν προέκυψε εξαίρεση, αλλά μια ανάλυση εντελώς διαφορετικού είδους, για παράδειγμα, μελέτη των δομών δεδομένων μιας διεργασίας και ούτω καθεξής.

Ρύθμιση παραμέτρων μνήμης πυρήνα

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

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

  1. Κάντε δεξί κλικ στο εικονίδιο "My Computer" - "Properties" - "Advanced system settings" - "Advanced".
  2. Κουμπί "Έναρξη" - "Πίνακας Ελέγχου" - "Σύστημα" - "Προηγμένες ρυθμίσεις συστήματος" - "Για προχωρημένους".
  3. Συντόμευση πληκτρολογίου "Windows" + "Παύση" - "Προηγμένες ρυθμίσεις συστήματος" - "Για προχωρημένους".

  4. σύστημα ελέγχου.cpl,3
  5. Εκτέλεση στη γραμμή εντολών (cmd):
    SystemPropertiesAdvanced

Το αποτέλεσμα των ενεργειών που περιγράφονται είναι να ανοίξετε το παράθυρο "Ιδιότητες συστήματος" και να επιλέξετε την καρτέλα "Για προχωρημένους":

Μετά από αυτό, στην ενότητα "Εκκίνηση και ανάκτηση" κάνουμε κλικ, επιλέγουμε "Επιλογές" και έτσι ανοίγουμε ένα νέο παράθυρο που ονομάζεται "Λήψη και ανάκτηση":

Όλες οι παράμετροι ένδειξης σφάλματος ομαδοποιούνται σε ένα μπλοκ παραμέτρων που ονομάζεται "Αποτυχία συστήματος". Σε αυτό το μπλοκ μπορούμε να ορίσουμε τις ακόλουθες παραμέτρους:

  1. Γράψτε συμβάντα στο αρχείο καταγραφής συστήματος.
  2. Εκτελέστε μια αυτόματη επανεκκίνηση.
  3. Καταγραφή πληροφοριών εντοπισμού σφαλμάτων.
  4. Αποτύπωση αρχείου.
  5. Αντικαταστήστε ένα υπάρχον αρχείο ένδειξης σφαλμάτων.

Όπως μπορείτε να δείτε, πολλές από τις παραμέτρους από τη λίστα είναι αρκετά ασήμαντες και εύκολα κατανοητές. Ωστόσο, θα ήθελα να αναφερθώ αναλυτικά στην παράμετρο "Αρχείο Dump". Η παράμετρος παρουσιάζεται ως αναπτυσσόμενη λίστα και έχει τέσσερις πιθανές τιμές:

Μικρή χωματερή μνήμης

Μια ένδειξη μικρής ένδειξης μνήμης (minidump) είναι ένα αρχείο που περιέχει τη μικρότερη ποσότητα πληροφοριών σχετικά με την αποτυχία. Η μικρότερη από όλες τις πιθανές αποθήκες μνήμης. Παρά τα προφανή μειονεκτήματα, τα minidump χρησιμοποιούνται συχνά ως πληροφορίες σχετικά με μια αποτυχία μεταφοράς σε τρίτους προμηθευτές προγραμμάτων οδήγησης για μετέπειτα μελέτη.
Χημική ένωση:

  • Μήνυμα λάθους.
  • Τιμή σφάλματος.
  • Παράμετροι σφάλματος.
  • Το περιβάλλον του επεξεργαστή (PRCB) στο οποίο προέκυψε η αποτυχία.
  • Πληροφορίες διεργασίας και πλαίσιο πυρήνα (EPROCESS) για τη διαδικασία συντριβής και όλα τα νήματα της.
  • Πληροφορίες διαδικασίας και περιβάλλον πυρήνα (ETHREAD) για το νήμα που προκαλεί τη συντριβή.
  • Η στοίβα λειτουργίας πυρήνα για το νήμα που προκάλεσε τη συντριβή.
  • Λίστα φορτωμένων προγραμμάτων οδήγησης.

Κατάλυμα: %SystemRoot%\Minidump\MMDDYY-XXXXXX-NN.dmp. Όπου MMDDYY είναι ο μήνας, η ημέρα και το έτος, αντίστοιχα, NN είναι ο σειριακός αριθμός της χωματερής.
Όγκος: Το μέγεθος εξαρτάται από το bit του λειτουργικού συστήματος: απαιτούνται μόνο 128 kilobyte για ένα 32-bit και 256 kilobyte για ένα λειτουργικό σύστημα 64-bit στο αρχείο σελιδοποίησης (ή στο αρχείο που καθορίζεται στο DedicatedDumpFile). Εφόσον δεν μπορούμε να ορίσουμε τόσο μικρό μέγεθος, το στρογγυλοποιούμε στο 1 megabyte.

Απόθεση μνήμης πυρήνα

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

  • Λίστα εκτελούμενων διαδικασιών.
  • Κατάσταση του τρέχοντος νήματος.
  • Σελίδες μνήμης σε λειτουργία πυρήνα που υπάρχουν στη φυσική μνήμη τη στιγμή της συντριβής: μνήμη προγράμματος οδήγησης λειτουργίας πυρήνα και μνήμη προγράμματος λειτουργίας πυρήνα.
  • Μνήμη επιπέδου που εξαρτάται από το υλικό (HAL).
  • Λίστα φορτωμένων προγραμμάτων οδήγησης.

Από την ένδειξη μνήμης πυρήνα λείπουν σελίδες μη εκχωρημένης μνήμης και σελίδες λειτουργίας χρήστη. Συμφωνώ, είναι απίθανο οι σελίδες διεργασίας λειτουργίας χρήστη να μας ενδιαφέρουν κατά τη διάρκεια μιας αποτυχίας συστήματος (BugCheck), καθώς η αποτυχία συστήματος συνήθως ξεκινά από τον κώδικα λειτουργίας πυρήνα.

Μέγεθος: Διαφέρει ανάλογα με το μέγεθος του χώρου διευθύνσεων του πυρήνα που εκχωρείται από το λειτουργικό σύστημα και τον αριθμό των προγραμμάτων οδήγησης λειτουργίας πυρήνα. Συνήθως, περίπου το ένα τρίτο της φυσικής μνήμης απαιτείται στο αρχείο swap (ή στο αρχείο που καθορίζεται στο DedicatedDumpFile). Μπορεί να ποικίλλει.

Πλήρης αποθήκευση μνήμης

Μια ένδειξη πλήρους μνήμης περιέχει ένα αντίγραφο όλης της φυσικής μνήμης (RAM) τη στιγμή της αποτυχίας. Αντίστοιχα, όλα τα περιεχόμενα της μνήμης του συστήματος περιλαμβάνονται στο αρχείο. Αυτό είναι ταυτόχρονα ένα πλεονέκτημα και ένα σημαντικό μειονέκτημα, καθώς το μέγεθός του μπορεί να είναι σημαντικό σε ορισμένους διακομιστές με μεγάλες ποσότητες RAM.
Χημική ένωση:

  • Όλες οι σελίδες «ορατής» φυσικής μνήμης. Αυτή είναι σχεδόν ολόκληρη η μνήμη του συστήματος, με εξαίρεση τις περιοχές που χρησιμοποιούνται από το υλικό: BIOS, χώρος PCI κ.λπ.
  • Δεδομένα από τις διεργασίες που εκτελούνταν στο σύστημα τη στιγμή της αποτυχίας.
  • Σελίδες φυσικής μνήμης που δεν αντιστοιχίζονται στον εικονικό χώρο διευθύνσεων, αλλά μπορούν να βοηθήσουν στη διερεύνηση της αιτίας της αποτυχίας.

Από προεπιλογή, μια ένδειξη πλήρους μνήμης δεν περιλαμβάνει περιοχές φυσικής μνήμης που χρησιμοποιούνται από το BIOS.
Τοποθεσία: %SystemRoot%\MEMORY.DMP . Η προηγούμενη ένδειξη αντικαθίσταται.
Όγκος: Το αρχείο σελιδοποίησης (ή το αρχείο που καθορίζεται στο DedicatedDumpFile) απαιτεί όγκο ίσο με το μέγεθος της φυσικής μνήμης + 257 megabyte (αυτά τα 257 MB χωρίζονται σε μια συγκεκριμένη κεφαλίδα + δεδομένα προγράμματος οδήγησης). Στην πραγματικότητα, σε ορισμένα λειτουργικά συστήματα, το κατώτερο όριο του αρχείου σελιδοποίησης μπορεί να ρυθμιστεί ακριβώς στην τιμή του μεγέθους της φυσικής μνήμης.

Αυτόματη απόθεση μνήμης

Ξεκινώντας με τα Windows 8/Windows Server 2012, έχει εισαχθεί στο σύστημα ένας νέος τύπος ένδειξης που ονομάζεται Automatic Memory Dump, ο οποίος έχει οριστεί ως ο προεπιλεγμένος τύπος. Σε αυτήν την περίπτωση, το ίδιο το σύστημα αποφασίζει ποια ένδειξη μνήμης θα καταγράψει σε περίπτωση συγκεκριμένης βλάβης. Επιπλέον, η λογική της επιλογής εξαρτάται από πολλά κριτήρια, συμπεριλαμβανομένης της συχνότητας του «crash» του λειτουργικού συστήματος.

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

Ρυθμίσεις μητρώου

Η ενότητα μητρώου που ορίζει τις παραμέτρους ένδειξης σφάλματος:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Επιλογές:

Παράμετρος Τύπος Περιγραφή
Αυτόματη επανεκκίνηση REG_DWORD Ενεργοποίηση/απενεργοποίηση αυτόματης επανεκκίνησης όταν εμφανίζεται BSOD.
CrashDumpEnabled REG_DWORD Το είδος της χωματερής που δημιουργείται.
  • 0 - μην δημιουργήσετε ένδειξη αποθήκευσης μνήμης.
  • 1 - πλήρης ένδειξη μνήμης.
  • 2 - ένδειξη μνήμης πυρήνα.
  • 3 - μικρή ένδειξη μνήμης.
DumpFile REG_EXPAND_SZ Διαδρομή και όνομα της ένδειξης ένδειξης μνήμης του πυρήνα και της ένδειξης πλήρους μνήμης.
DumpFilters REG_MULTI_SZ Φίλτρο προγράμματος οδήγησης στη στοίβα προγραμμάτων οδήγησης ένδειξης σφαλμάτων μνήμης. Σας επιτρέπει να προσθέσετε νέα λειτουργικότητα στο στάδιο της δημιουργίας crash dumps. Για παράδειγμα, κρυπτογράφηση των περιεχομένων του dump. Δεν συνιστάται η αλλαγή της τιμής.
LogEvent REG_DWORD Καταγραφή ενός συμβάντος στο αρχείο καταγραφής συστήματος.
MinidumpDir REG_EZPAND_SZ Διαδρομή και όνομα της μικρής χωματερής μνήμης.
MinidumpsCount REG_DWORD Μέγιστος αριθμός μικρών αποθεμάτων μνήμης. Όταν ξεπεραστεί, οι παλαιότερες εκδόσεις αρχίζουν να αντικαθίστανται.
Αντικατάσταση REG_DWORD Αντικαταστήστε ένα υπάρχον αρχείο ένδειξης σφαλμάτων. Μόνο για ένδειξη μνήμης πυρήνα και ένδειξη πλήρους μνήμης.
IgnorePagefileSize REG_DWORD Αγνοεί το τυπικό αρχείο σελίδας ως μέρος για προσωρινή (ενδιάμεση) αποθήκευση μνήμης. Υποδεικνύει ότι η ένδειξη μνήμης πρέπει να εγγραφεί σε ξεχωριστό αρχείο. Χρησιμοποιείται σε συνδυασμό με την επιλογή DedicatedDumpFile.
DedicatedDumpFile REG_EZPAND_SZ Διαδρομή και όνομα ενός προσωρινού εναλλακτικού αρχείου για την εγγραφή μιας ένδειξης ένδειξης μνήμης. Στο δεύτερο πέρασμα τα δεδομένα θα εξακολουθήσουν να μετακινούνται στο DumpFile/MinidumpDir.

Δημιουργία χειροκίνητης ένδειξης μνήμης

Παραπάνω περιγράψαμε τις ρυθμίσεις για την αυτόματη δημιουργία ενδείξεων σφάλματος συστήματος σε περίπτωση κρίσιμου σφάλματος, δηλαδή μιας μη χειριζόμενης εξαίρεσης στον κώδικα του πυρήνα. Αλλά στην πραγματική ζωή, εκτός από τη συντριβή του λειτουργικού συστήματος, υπάρχουν περιπτώσεις όπου είναι απαραίτητο να αποκτήσετε μια ένδειξη μνήμης συστήματος σε μια συγκεκριμένη χρονική στιγμή. Πώς να είσαι σε αυτή την περίπτωση; Υπάρχουν μέθοδοι για τη λήψη ενός στιγμιότυπου όλης της φυσικής μνήμης, για παράδειγμα χρησιμοποιώντας την εντολή .dump στα προγράμματα εντοπισμού σφαλμάτων WinDbg/LiveKD. Το LiveKD είναι ένα πρόγραμμα που σας επιτρέπει να εκτελέσετε τον εντοπισμό σφαλμάτων του πυρήνα Kd σε ένα σύστημα που εκτελείται σε τοπική λειτουργία. Ο εντοπισμός σφαλμάτων WinDbg έχει επίσης μια παρόμοια δυνατότητα. Ωστόσο, η μέθοδος απόρριψης on-the-fly δεν είναι ακριβής, επειδή η ένδειξη απόρριψης που δημιουργείται σε αυτήν την περίπτωση είναι "ασυνεπής", καθώς χρειάζεται χρόνος για τη δημιουργία της ένδειξης σφαλμάτων, και σε περίπτωση χρήσης του προγράμματος εντοπισμού σφαλμάτων λειτουργίας πυρήνα, το σύστημα συνεχίζει να εκτελείται και να δημιουργεί αλλαγές στις σελίδες μνήμης.

Μία από τις πιο συνηθισμένες αστοχίες των Windows είναι οι εξαιρέσεις συστήματος, τις οποίες ο χρήστης βλέπει με τη μορφή «μπλε οθόνη θανάτου» (BSOD). Κατά κανόνα, αυτό το μοιραίο σφάλμα συμβαίνει είτε λόγω δυσλειτουργίας προγραμμάτων οδήγησης, υλικού (συνήθως κατά τη φόρτωση του λειτουργικού συστήματος) είτε λόγω της δράσης ιών και προστασίας από ιούς.

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

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

Τι είναι χωματερή

  • dump (Αγγλικά) – σωρός σκουπιδιών. εγκαταλείπω; τρύπα; πτωχογειτονιά.
  • dump (memory dump) – 1) dump, έξοδος των περιεχομένων της RAM για εκτύπωση ή οθόνη. 2) ένα "στιγμιότυπο" της μνήμης RAM. δεδομένα που ελήφθησαν ως αποτέλεσμα ντάμπινγκ· 3) αφαίρεση έκτακτης ανάγκης, τερματισμός λειτουργίας, επαναφορά.
  • dumping – dumping, dump remove.

Οι ρυθμίσεις για την αποθήκευση μιας ένδειξης αποθήκευσης μνήμης αποθηκεύονται στο μητρώο συστήματος των Windows.

Πληροφορίες σχετικά με την ένδειξη αποθήκευσης μνήμης στο Μητρώο συστήματος:

Στην ενότητα Μητρώο των Windows, μια ένδειξη σφάλματος ορίζεται από τις ακόλουθες παραμέτρους:

– Παράμετρος REG_DWORD AutoReboot με την τιμή 0×1 (επιλογή Αυτόματη επανεκκίνηση του βοηθητικού παραθύρου Εκκίνηση και επαναφορά του πλαισίου διαλόγου System Properties).

– Παράμετρος REG_DWORD CrashDumpEnabled με τιμή 0×0, εάν δεν δημιουργηθεί ένδειξη ένδειξης μνήμης. 0×1 – Πλήρης αποθήκευση μνήμης. 0×2 – Απόθεση μνήμης πυρήνα. 0x3 – Μικρή ένδειξη μνήμης (64KB);

– REG_EXPAND_SZ παράμετρος DumpFile με την προεπιλεγμένη τιμή %SystemRoot%\MEMORY.DMP (θέση αποθήκευσης αρχείου dump).

– Παράμετρος REG_DWORD LogEvent με προεπιλεγμένη τιμή 0×1 (επιλογή Συμβάν καταγραφής στο αρχείο καταγραφής συστήματος του παραθύρου Εκκίνηση και αποκατάσταση).

– REG_EXPAND_SZ MinidumpDir παράμετρος με την προεπιλεγμένη τιμή %SystemRoot%\Minidump (Επιλογή μικρού φακέλου απόρριψης του παραθύρου Εκκίνηση και ανάκτηση).

– Παράμετρος REG_DWORD Αντικατάσταση με προεπιλεγμένη τιμή 0×1 (επιλογή Αντικατάσταση υπάρχοντος αρχείου ένδειξης σφαλμάτων του παραθύρου Εκκίνηση και επαναφορά).

– Παράμετρος REG_DWORD SendAlert με προεπιλεγμένη τιμή 0x1 (επιλογή Αποστολή διαχειριστικής ειδοποίησης του παραθύρου Εκκίνηση και αποκατάσταση).

Πώς το σύστημα δημιουργεί ένα αρχείο ένδειξης σφάλματος

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

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

Αρχικά, ο πυρήνας του συστήματος ελέγχει την κατάσταση κάθε στοιχείου που εμπλέκεται στη διαδικασία απόρριψης. Αυτό γίνεται έτσι ώστε κατά την απευθείας εγγραφή σε τομείς δίσκου, να μην καταστρέφονται δεδομένα που βρίσκονται έξω από το αρχείο σελίδας. Το μέγεθος του αρχείου σελίδας θα πρέπει να είναι 1 MB μεγαλύτερο από το μέγεθος της φυσικής μνήμης, γιατί όταν εγγράφονται πληροφορίες στο dump, δημιουργείται μια κεφαλίδα που περιέχει την υπογραφή crash dump και τις τιμές πολλών κρίσιμων μεταβλητών του πυρήνα του συστήματος. Η κεφαλίδα είναι μικρότερη από 1 MB, αλλά το λειτουργικό σύστημα μπορεί να αυξήσει (ή να μειώσει) το μέγεθος του αρχείου σελίδας κατά τουλάχιστον 1 MB.

Μετά την εκκίνηση του συστήματος, το Session Manager (Windows NT Session Manager, διεύθυνση δίσκου - \WINDOWS\system32\smss.exe) προετοιμάζει τα αρχεία σελίδας συστήματος, χρησιμοποιώντας τη δική του λειτουργία NtCreatePagingFile για τη δημιουργία κάθε αρχείου. Το NtCreatePagingFile καθορίζει εάν το αρχείο σελίδας που αρχικοποιείται υπάρχει και, εάν ναι, εάν έχει κεφαλίδα ένδειξης σφαλμάτων. Εάν υπάρχει κεφαλίδα, τότε το NtCreatePagingFile στέλνει έναν ειδικό κωδικό στο Session Manager. Στη συνέχεια, το Session Manager ξεκινά τη διαδικασία Winlogon (Πρόγραμμα σύνδεσης των Windows NT· διεύθυνση δίσκου είναι \WINDOWS\system32\winlogon.exe), η οποία ειδοποιείται για την ύπαρξη ένδειξης σφάλματος. Το Winlogon εκτελεί το πρόγραμμα SaveDump (Windows NT Memory Copy Program; διεύθυνση δίσκου - \WINDOWS\system32\savedump.exe), το οποίο αναλύει την κεφαλίδα ένδειξης σφαλμάτων και καθορίζει περαιτέρω ενέργειες σε κατάσταση έκτακτης ανάγκης.

Εάν η κεφαλίδα υποδεικνύει την ύπαρξη ένδειξης ένδειξης, τότε το SaveDump αντιγράφει τα δεδομένα από το αρχείο σελίδας στο αρχείο ένδειξης σφάλματος, το όνομα του οποίου καθορίζεται από την παράμετρο REG_EXPAND_SZ της ενότητας DumpFile του Μητρώου. Ενώ το SaveDump ξαναγράφει το αρχείο ένδειξης σφαλμάτων, το λειτουργικό σύστημα δεν χρησιμοποιεί το τμήμα του αρχείου σελίδας που περιέχει την ένδειξη σφάλματος. Κατά τη διάρκεια αυτής της περιόδου, η ποσότητα της εικονικής μνήμης που είναι διαθέσιμη στο σύστημα και τις εφαρμογές μειώνεται κατά το μέγεθος ένδειξης (και ενδέχεται να εμφανιστούν μηνύματα στην οθόνη που υποδεικνύουν ότι η εικονική μνήμη είναι χαμηλή). Στη συνέχεια, το SaveDump ενημερώνει τον διαχειριστή μνήμης ότι η αποθήκευση έχει ολοκληρωθεί και απελευθερώνει το τμήμα του αρχείου σελίδας στο οποίο είναι αποθηκευμένο το αρχείο ένδειξης για γενική χρήση.

Μετά την αποθήκευση του αρχείου ένδειξης σφαλμάτων, το πρόγραμμα SaveDump καταγράφει τη δημιουργία μιας ένδειξης σφαλμάτων στο αρχείο καταγραφής συμβάντων συστήματος, για παράδειγμα: "Ο υπολογιστής επανεκκινήθηκε μετά από ένα κρίσιμο σφάλμα: 0x100000d1 (0xc84d90a6, 0x00000010, 0x0000000000). Το αντίγραφο μνήμης αποθηκεύτηκε: C:\WINDOWS\Minidump\Mini060309-01.dmp".

Εάν είναι ενεργοποιημένη η επιλογή Αποστολή διαχειριστικής ειδοποίησης, το SaveDump στέλνει μια ειδοποίηση στον διαχειριστή.

Τύποι χωματερών

  • Πλήρης χωματερή μνήμηςγράφει ολόκληρο το περιεχόμενο της μνήμης του συστήματος όταν παρουσιαστεί μοιραίο σφάλμα. Για αυτήν την επιλογή, πρέπει να έχετε ένα αρχείο σελιδοποίησης στον τόμο εκκίνησης, το μέγεθος του οποίου είναι ίσο με την ποσότητα όλης της φυσικής RAM συν 1 MB. Από προεπιλογή, μια πλήρης ένδειξη μνήμης εγγράφεται στο αρχείο %SystemRoot%\Memory.dmp. Όταν παρουσιαστεί ένα νέο σφάλμα και δημιουργείται ένα νέο αρχείο ένδειξης ένδειξης πλήρους μνήμης (ή ένδειξης μνήμης πυρήνα), το προηγούμενο αρχείο αντικαθίσταται (αντικαθίσταται). Η επιλογή ένδειξης πλήρους μνήμης δεν είναι διαθέσιμη σε υπολογιστές που διαθέτουν λειτουργικό σύστημα 32 bit και μνήμη RAM 2 gigabyte ή περισσότερο.

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

  • Απόθεση μνήμης πυρήναγράφει μόνο τη μνήμη του πυρήνα, κάνοντας τη διαδικασία εγγραφής δεδομένων στο αρχείο καταγραφής όταν το σύστημα σταματά ξαφνικά να προχωρήσει πιο γρήγορα. Ανάλογα με την ποσότητα της φυσικής μνήμης του υπολογιστή, σε αυτήν την περίπτωση το αρχείο σελιδοποίησης απαιτεί από 50 έως 800 MB ή το ένα τρίτο της φυσικής μνήμης του υπολογιστή στον τόμο εκκίνησης. Από προεπιλογή, η ένδειξη μνήμης πυρήνα εγγράφεται στο αρχείο %SystemRoot%\Memory.dmp.

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

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

Τα μικρά αρχεία ένδειξης σφαλμάτων μνήμης περιέχουν τις ακόλουθες πληροφορίες:

  • Μήνυμα μοιραίου σφάλματος, οι παράμετροι του και άλλα δεδομένα.
  • λίστα φορτωμένων προγραμμάτων οδήγησης.
  • το περιβάλλον του επεξεργαστή (PRCB) στο οποίο συνέβη η αποτυχία·
  • πληροφορίες διεργασίας και περιβάλλον πυρήνα (EPROCESS) για τη διαδικασία που προκάλεσε το σφάλμα.
  • πληροφορίες επεξεργασίας και περιβάλλον πυρήνα (ETHREAD) για το νήμα που προκάλεσε το σφάλμα.
  • Η στοίβα κλήσης λειτουργίας πυρήνα για το νήμα που προκάλεσε το σφάλμα.

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

Όταν παρουσιαστεί το επόμενο σφάλμα και δημιουργηθεί ένα δεύτερο μικρό αρχείο ένδειξης σφαλμάτων μνήμης, το προηγούμενο αρχείο αποθηκεύεται. Σε κάθε επιπλέον αρχείο δίνεται ένα μοναδικό όνομα. Η ημερομηνία κωδικοποιείται στο όνομα του αρχείου. Για παράδειγμα, το Mini051509-01.dmp είναι το πρώτο αρχείο ένδειξης σφαλμάτων μνήμης που δημιουργήθηκε στις 15 Μαΐου 2009. Μια λίστα με όλα τα μικρά αρχεία ένδειξης σφαλμάτων μνήμης αποθηκεύεται στο φάκελο %SystemRoot%\Minidump.

Το λειτουργικό σύστημα Windows XP είναι αναμφίβολα πολύ πιο αξιόπιστο από τις προηγούμενες εκδόσεις, χάρη στις προσπάθειες τόσο των προγραμματιστών της Microsoft, όσο και των προγραμματιστών προγραμμάτων οδήγησης υλικού και προγραμματιστών λογισμικού εφαρμογών. Ωστόσο, καταστάσεις έκτακτης ανάγκης - κάθε είδους αστοχίες και σφάλματα συστήματος - είναι αναπόφευκτες και το αν ο χρήστης υπολογιστή έχει τις γνώσεις και τις δεξιότητες για να τις εξαλείψει εξαρτάται από το αν θα χρειαστεί να αφιερώσει λίγα λεπτά για την αντιμετώπιση προβλημάτων (για παράδειγμα, ενημέρωση/αποσφαλμάτωση προγράμματος οδήγησης ή επανεγκατάσταση ενός προγράμματος που προκαλεί σφάλμα συστήματος) - ή αρκετές ώρες για να επανεγκαταστήσετε/ρυθμίσετε το λειτουργικό σύστημα και το λογισμικό εφαρμογής (που δεν εγγυάται την απουσία αστοχιών και σφαλμάτων στο μέλλον!).

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

Θα δώσω παραδείγματα από την πρακτική μου "sysadmin".

Στο τοπικό δίκτυο, χωρίς προφανή λόγο («το υλικό είναι εντάξει, η απουσία ιών είναι εγγυημένη, οι χρήστες έχουν «κανονικά χέρια»), αρκετοί σταθμοί εργασίας με Windows XP SP1/SP2 «εσωτερικά» κατέρρευσαν. Δεν ήταν δυνατή η εκκίνηση των υπολογιστών σε κανονική λειτουργία - έφτασε στο "Greetings" - και χρειάστηκε για πάντα η επανεκκίνηση. Ταυτόχρονα, οι υπολογιστές μπήκαν σε ασφαλή λειτουργία.

Η μελέτη των χωματερών μνήμης κατέστησε δυνατό τον εντοπισμό της αιτίας της δυσλειτουργίας: ο ένοχος αποδείχθηκε ότι ήταν το Kaspersky Anti-Virus, πιο συγκεκριμένα, νέες βάσεις δεδομένων προστασίας από ιούς (ακριβέστερα, δύο μονάδες βάσης δεδομένων - base372c.avc, base032c.avc) .

...Υπήρχε και άλλη τέτοια περίπτωση. Σε έναν τοπικό υπολογιστή με Windows XP SP3, έγινε επανεκκίνηση κατά την προσπάθεια ανοίγματος αρχείων βίντεο σε μορφές .avi και .mpeg. Η μελέτη της ένδειξης αποθήκευσης μνήμης μας επέτρεψε να προσδιορίσουμε την αιτία του προβλήματος - το αρχείο nv4_disp.dll του προγράμματος οδήγησης κάρτας γραφικών NVIDIA GeForce 6600 Μετά την ενημέρωση του προγράμματος οδήγησης, το πρόβλημα εξαλείφθηκε. Γενικά, το πρόγραμμα οδήγησης nv4_disp.dll είναι ένα από τα πιο ασταθή προγράμματα οδήγησης, το οποίο συχνά οδηγούσε σε BSOD.

Και στις δύο αυτές περιπτώσεις, η μελέτη του crash memory dump κατέστησε δυνατή τη μείωση του χρόνου για τη διάγνωση και την εξάλειψη της δυσλειτουργίας στο ελάχιστο (αρκετά λεπτά!).

Ανάλυση χωματερής μνήμης

Υπάρχουν πολλά προγράμματα για την ανάλυση σφαλμάτων μνήμης, για παράδειγμα, DumpChk, Kanalyze, WinDbg.

Ας δούμε την ανάλυση των σφαλμάτων μνήμης χρησιμοποιώντας το πρόγραμμα WinDbg (μέρος των Εργαλείων εντοπισμού σφαλμάτων για Windows).

Εγκατάσταση εργαλείων εντοπισμού σφαλμάτων

  • επισκεφθείτε την τοποθεσία Web της Microsoft Corporation http://www.microsoft.com/whdc/devtools/debugging/default.mspx;
  • Κάντε λήψη των Εργαλείων εντοπισμού σφαλμάτων για Windows, για παράδειγμα, για μια έκδοση 32-bit των Windows, αυτό μπορεί να γίνει στη σελίδα Λήψη των εργαλείων εντοπισμού σφαλμάτων για Windows.
  • μετά τη λήψη, εκτελέστε το αρχείο εγκατάστασης.
  • στο παράθυρο Εργαλεία εντοπισμού σφαλμάτων για τον Οδηγό εγκατάστασης των Windows, κάντε κλικ στο Επόμενο.
  • στο παράθυρο με την άδεια χρήσης, επιλέξτε το διακόπτη Συμφωνώ –> Επόμενο.
  • στο επόμενο παράθυρο, επιλέξτε τον τύπο εγκατάστασης (από προεπιλογή, τα εργαλεία εντοπισμού σφαλμάτων εγκαθίστανται στο φάκελο \Program Files\Debugging Tools for Windows) –> Επόμενο –> Εγκατάσταση –> Τέλος.
  • Για να ερμηνεύσετε αρχεία ένδειξης σφαλμάτων μνήμης, πρέπει επίσης να κάνετε λήψη των πακέτων συμβόλων για την έκδοση των Windows που διαθέτετε - μεταβείτε στη σελίδα Λήψη πακέτων συμβόλων των Windows.
  • επιλέξτε την έκδοση των Windows, κατεβάστε και εκτελέστε το αρχείο εγκατάστασης Symbol Packages.
  • στο παράθυρο με την άδεια χρήσης, κάντε κλικ στο Ναι.
  • στο επόμενο παράθυρο, επιλέξτε το φάκελο εγκατάστασης (η προεπιλογή είναι \WINDOWS\Symbols) –> OK –> Ναι;
  • Στο παράθυρο Σύμβολα των Microsoft Windows με το μήνυμα "Η εγκατάσταση ολοκληρώθηκε", κάντε κλικ στο OK.

Χρησιμοποιώντας το WinDbg για να αναλύσετε τα Crash Dumps

  • εκτελέστε το WinDbg (εγκατεστημένο στο φάκελο \Program Files\Debugging Tools for Windows από προεπιλογή).
  • επιλέξτε το μενού Αρχείο –> Διαδρομή αρχείου συμβόλου…;
  • στο παράθυρο Διαδρομή αναζήτησης συμβόλων, κάντε κλικ στο κουμπί Αναζήτηση....
  • στο παράθυρο Αναζήτηση φακέλου, καθορίστε τη θέση του φακέλου Σύμβολα (από προεπιλογή – \WINDOWS\Symbols) –> ΟΚ –> ΟΚ;
  • επιλέξτε το μενού File –> Open Crash Dump… (ή πατήστε Ctrl + D).
  • στο παράθυρο Open Crash Dump, καθορίστε τη θέση του Crash Dump File (*.dmp) –> Open;
  • στο παράθυρο Χώρος εργασίας με την ερώτηση "Αποθήκευση πληροφοριών για χώρο εργασίας;", επιλέξτε το πλαίσιο Να μην ερωτηθεί ξανά –> Όχι.
  • Το παράθυρο Command Dump θα ανοίξει στο παράθυρο WinDbg<путь_и_имя_файла_дампа>με ανάλυση χωματερής?
  • επανεξετάστε την ανάλυση ένδειξης σφαλμάτων μνήμης.
  • στην ενότητα "Ανάλυση ελέγχου σφαλμάτων" θα υποδεικνύεται η πιθανή αιτία της συντριβής, για παράδειγμα, "Πιθανώς να προκλήθηκε από: smwdm.sys (smwdm+454d5)".
  • για να δείτε λεπτομερείς πληροφορίες, κάντε κλικ στο σύνδεσμο “!analyze -v” στη γραμμή “Use !analyze -v για να λάβετε λεπτομερείς πληροφορίες εντοπισμού σφαλμάτων”.
  • κλείσιμο WinDbg.
  • Χρησιμοποιήστε τις πληροφορίες που λάβατε για να εξαλείψετε την αιτία του προβλήματος.

Για παράδειγμα, στο παρακάτω στιγμιότυπο οθόνης, η αιτία της δυσλειτουργίας είναι το αρχείο nv4_disp.dll του προγράμματος οδήγησης της κάρτας βίντεο.

Γεια σας φίλοι, σήμερα θα συζητήσουμε ένα ενδιαφέρον θέμα που θα σας βοηθήσει στο μέλλον όταν εμφανιστεί μια μπλε οθόνη θανάτου (BSoD).

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

Πρόσφατα έλαβα ξανά μια μπλε οθόνη στα Windows 10, αλλά την ξεμπέρδεψα γρήγορα και θα σας το πω σύντομα.

Θέλετε να παρακολουθήσετε ταινίες online σε καλή ποιότητα; Στη συνέχεια, ακολουθήστε τον σύνδεσμο.

Έτσι, οι περισσότεροι από τους χρήστες δεν γνωρίζουν ότι το BSoD μπορεί να αναλυθεί για να κατανοήσει αργότερα τα κρίσιμα ζητήματα σφαλμάτων. Για τέτοιες περιπτώσεις, τα Windows δημιουργούν ειδικά αρχεία στο δίσκο - μνήμης dumps, και θα τα αναλύσουμε.

Υπάρχουν τρεις τύποι αποθήκευσης μνήμης:

Πλήρης αποθήκευση μνήμης – αυτή η λειτουργία σάς επιτρέπει να αποθηκεύσετε πλήρως τα περιεχόμενα της μνήμης RAM. Χρησιμοποιείται σπάνια, γιατί φανταστείτε ότι έχετε 32 GB μνήμης RAM, με πλήρες dump, όλος αυτός ο όγκος θα αποθηκευτεί στο δίσκο.

Kernel dump – αποθηκεύει πληροφορίες σχετικά με τη λειτουργία πυρήνα.

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

Η τοποθεσία τόσο της μικρής όσο και της πλήρους χωματερής είναι διαφορετική, για παράδειγμα, η μικρή απόθεση βρίσκεται στην ακόλουθη διαδρομή: %systemroot%minidump.

Η πλήρης ένδειξη είναι εδώ: %systemroot%.

Υπάρχουν διάφορα προγράμματα για την ανάλυση των απορριμμάτων μνήμης, αλλά θα χρησιμοποιήσουμε δύο. Το πρώτο είναι το Microsoft Kernel Debuggers, όπως υποδηλώνει το όνομα, ένα βοηθητικό πρόγραμμα από τη Microsoft. Μπορείτε να το κατεβάσετε από την επίσημη ιστοσελίδα. Το δεύτερο πρόγραμμα είναι το BlueScreenView, ένα δωρεάν πρόγραμμα, κατεβάστε από εδώ.

Ανάλυση μιας απόθεσης μνήμης με χρήση προγραμμάτων εντοπισμού σφαλμάτων πυρήνα της Microsoft

Για διαφορετικές εκδόσεις συστημάτων πρέπει να κάνετε λήψη διαφορετικού τύπου βοηθητικού προγράμματος. Για παράδειγμα, για ένα λειτουργικό σύστημα 64-bit, απαιτείται ένα πρόγραμμα 64-bit, για ένα λειτουργικό σύστημα 32-bit, απαιτείται μια έκδοση 32-bit.

Δεν είναι μόνο αυτό, πρέπει να κατεβάσετε και να εγκαταστήσετε το πακέτο των συμβόλων εντοπισμού σφαλμάτων που απαιτούνται για το πρόγραμμα. Ονομάζεται Debugging Symbols. Κάθε έκδοση αυτού του πακέτου γίνεται επίσης λήψη σε ένα συγκεκριμένο λειτουργικό σύστημα, πρώτα μάθετε ποιο σύστημα έχετε και, στη συνέχεια, πραγματοποιήστε λήψη. Για να μην χρειάζεται να αναζητήσετε αυτά τα σύμβολα πουθενά, εδώ είναι ο σύνδεσμος λήψης. Η εγκατάσταση θα πρέπει κατά προτίμηση να γίνει σε αυτή τη διαδρομή: %systemroot%symbols.

Τώρα μπορείτε να εκκινήσετε τον εντοπισμό σφαλμάτων μας, το παράθυρο του οποίου θα μοιάζει με αυτό:

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

Το πρόγραμμα σάς επιτρέπει να εξαγάγετε σύμβολα απευθείας από τον Ιστό, ώστε να μην χρειάζεται καν να τα κατεβάσετε (συγγνώμη σε όσους τα έχουν ήδη κατεβάσει). Θα ληφθούν από έναν διακομιστή της Microsoft, επομένως όλα είναι ασφαλή. Επομένως, πρέπει να ανοίξετε ξανά το "File" και μετά το "Symbol File Path" και να εισαγάγετε την ακόλουθη εντολή:

SRV*%systemroot%symbols*http://msdl.microsoft.com/download/symbols

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

Αυτό είναι όλο. Έχουμε διαμορφώσει το πρόγραμμα με τον σωστό τρόπο, τώρα αρχίζουμε να αναλύουμε τις ενδείξεις ένδειξης μνήμης. Στο πρόγραμμα, κάντε κλικ στο κουμπί "Αρχείο", στη συνέχεια "Άνοιγμα Crash Dump" και επιλέξτε το αρχείο που θέλετε.

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

Στο παράθυρο που εμφανίζεται, μπορείτε να εισάγετε εντολές. Αν πληκτρολογήσουμε!analyze –v θα λάβουμε περισσότερες πληροφορίες.

Αυτό είναι όλο με αυτό το πρόγραμμα. Για να σταματήσετε το πρόγραμμα εντοπισμού σφαλμάτων, επιλέξτε "Εντοπισμός σφαλμάτων" και το στοιχείο "Διακοπή εντοπισμού σφαλμάτων".

Ανάλυση μιας απόθεσης μνήμης χρησιμοποιώντας το BlueScreenView

Το πρόγραμμα BlueScreenView είναι επίσης κατάλληλο για την ανάλυση διαφόρων σφαλμάτων και BSoD, έχει μια απλή διεπαφή, επομένως δεν πρέπει να υπάρχουν προβλήματα με το mastering.

Κατεβάστε το πρόγραμμα από τον παραπάνω σύνδεσμο και εγκαταστήστε το. Μετά την εκκίνηση του βοηθητικού προγράμματος, πρέπει να το διαμορφώσετε. Μεταβείτε στις παραμέτρους: "Ρυθμίσεις" - "Σύνθετες ρυθμίσεις". Θα ανοίξει ένα μικρό παράθυρο με μερικά αντικείμενα. Στην πρώτη παράγραφο, πρέπει να υποδείξετε τη θέση των χώρων αποθήκευσης μνήμης. Συνήθως βρίσκονται στη διαδρομή C:WINDOWSminidump. Στη συνέχεια, απλώς κάντε κλικ στο κουμπί "Προεπιλογή".

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

Όπως είπα στην αρχή του άρθρου, τα dumps μπορούν να αποθηκεύσουν προγράμματα οδήγησης, το στιγμιότυπο οθόνης της ίδιας της «οθόνης θανάτου» και άλλες χρήσιμες πληροφορίες που μπορεί να μας φανούν χρήσιμες.

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

Στο Διαδίκτυο μπορείτε να βρείτε τα πάντα σχετικά με τον κωδικό σφάλματος και το πρόγραμμα οδήγησης που μπορεί να ευθύνονται για το BSoD. Για να το κάνετε αυτό, κάντε κλικ στο "Αρχείο" και μετά στο "Εύρεση κωδικού σφάλματος + Πρόγραμμα οδήγησης στο Google".

Μπορείτε να εμφανίσετε μόνο τα προγράμματα οδήγησης που ήταν παρόντα τη στιγμή που παρουσιάστηκε το σφάλμα. Για να το κάνετε αυτό, κάντε κλικ στο "Ρυθμίσεις" - "Λειτουργία κάτω παραθύρου" - "Βρέθηκαν μόνο προγράμματα οδήγησης στη στοίβα σύγκρουσης". Ή πατήστε το πλήκτρο F7.

Για να εμφανίσετε το στιγμιότυπο οθόνης BSoD, πατήστε F8.

Για να εμφανίσετε όλα τα προγράμματα οδήγησης και τα αρχεία, πατήστε F6.

Λοιπόν, αυτό είναι όλο. Τώρα ξέρετε πώς να μάθετε για το πρόβλημα της Μπλε Οθόνης Θανάτου και αν συμβεί κάτι, βρείτε μια λύση στο Διαδίκτυο ή σε αυτόν τον ιστότοπο. Μπορείτε να προσφέρετε τους κωδικούς σφάλματος και θα προσπαθήσω να γράψω για κάθε άρθρο για να λύσω το πρόβλημα.

Επίσης, μην ξεχάσετε να κάνετε ερωτήσεις στα σχόλια.

http://computerinfo.ru/analiz-dampa-pamyati/http://computerinfo.ru/wp-content/uploads/2016/08/analiz-dampa-pamyati.jpghttp://computerinfo.ru/wp-content/ uploads/2016/08/analiz-dampa-pamyati-150×150.jpg2016-08-18T13:45:42+00:00Προβλήματα EvilSin225BlueScreenView,Εντοπιστές σφαλμάτων του πυρήνα της Microsoft,ανάλυση dump,ανάλυση dump μνήμης, ανάλυση dump, μνήμη dump1, ανάλυση windows 7, ανάλυση crash dump, αιτία BSoD Γεια σας φίλοι, σήμερα θα δούμε ένα ενδιαφέρον θέμα που θα σας βοηθήσει στο μέλλον όταν εμφανιστεί μια μπλε οθόνη θανάτου (BSoD). Όπως εγώ, έτσι και πολλοί άλλοι χρήστες έπρεπε να παρατηρήσουν την εμφάνιση μιας οθόνης με μπλε φόντο στην οποία έγραφε κάτι (λευκό σε μπλε). Αυτό το φαινόμενο υποδεικνύει ένα κρίσιμο πρόβλημα, όπως στο λογισμικό, για παράδειγμα...EvilSin225Andrey Terekhov [email προστατευμένο]Τεχνολογίες υπολογιστών

Χωματερή συντριβής

Όλα τα συστήματα Windows, όταν εντοπίζεται ένα μοιραίο σφάλμα, κάνουν ένα crash dump (στιγμιότυπο) των περιεχομένων της RAM και το αποθηκεύουν στον σκληρό δίσκο. Υπάρχουν τρεις τύποι αποθήκευσης μνήμης:

Πλήρης αποθήκευση μνήμης – αποθηκεύει ολόκληρο το περιεχόμενο της μνήμης RAM. Το μέγεθος της εικόνας είναι ίσο με το μέγεθος της μνήμης RAM + 1 MB (κεφαλίδα). Χρησιμοποιείται πολύ σπάνια, καθώς σε συστήματα με μεγάλες ποσότητες μνήμης το μέγεθος της ένδειξης θα είναι πολύ μεγάλο.

Εντοπισμός μνήμης πυρήνα – αποθηκεύει πληροφορίες RAM που σχετίζονται μόνο με τη λειτουργία πυρήνα. Οι πληροφορίες λειτουργίας χρήστη δεν αποθηκεύονται επειδή δεν περιέχουν πληροφορίες σχετικά με την αιτία της διακοπής λειτουργίας του συστήματος. Το μέγεθος του αρχείου ένδειξης σφαλμάτων εξαρτάται από το μέγεθος της μνήμης RAM και ποικίλλει από 50 MB (για συστήματα με 128 MB μνήμης RAM) έως 800 MB (για συστήματα με 8 GB μνήμης RAM).

Μικρή ένδειξη αποθήκευσης μνήμης (mini dump) - περιέχει έναν αρκετά μικρό όγκο πληροφοριών: έναν κωδικό σφάλματος με παραμέτρους, μια λίστα προγραμμάτων οδήγησης που φορτώθηκαν στη μνήμη RAM τη στιγμή της συντριβής του συστήματος, κ.λπ., αλλά αυτές οι πληροφορίες είναι αρκετές για τον εντοπισμό του ελαττωματικού προγράμματος οδήγησης . Ένα άλλο πλεονέκτημα αυτού του τύπου dump είναι το μικρό μέγεθος αρχείου.

Εγκατάσταση συστήματος

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

Έχοντας ολοκληρώσει όλους τους χειρισμούς, μετά από κάθε BSoD ένα αρχείο με την επέκταση .dmp θα αποθηκευτεί στο φάκελο C:WINDOWSMminidump. Σας συμβουλεύω να διαβάσετε το υλικό "Πώς να δημιουργήσετε έναν φάκελο". Μπορείτε επίσης να επιλέξετε το πλαίσιο ελέγχου «Αντικατάσταση υπάρχοντος αρχείου ένδειξης σφαλμάτων». Σε αυτήν την περίπτωση, κάθε νέο crash dump θα γράφεται πάνω από το παλιό. Δεν προτείνω την ενεργοποίηση αυτής της επιλογής.

Ανάλυση ενός crash dump χρησιμοποιώντας το BlueScreenView

Έτσι, μετά την εμφάνιση της Μπλε Οθόνη του Θανάτου, το σύστημα έσωσε μια νέα ένδειξη crash memory. Για να αναλύσετε τη χωματερή, προτείνω να χρησιμοποιήσετε το πρόγραμμα BlueScreenView. Μπορείτε να το κατεβάσετε δωρεάν εδώ. Το πρόγραμμα είναι αρκετά βολικό και έχει μια διαισθητική διεπαφή. Μετά την εγκατάστασή του, το πρώτο πράγμα που πρέπει να κάνετε είναι να καθορίσετε τη θέση για την αποθήκευση των ενδείξεων μνήμης στο σύστημα. Για να το κάνετε αυτό, μεταβείτε στο στοιχείο μενού "Επιλογές" και επιλέξτε "Επιλογές για προχωρημένους". Επιλέξτε το κουμπί επιλογής «Φόρτωση από τον ακόλουθο φάκελο Mini Dump» και καθορίστε τον φάκελο στον οποίο αποθηκεύονται τα dump. Εάν τα αρχεία είναι αποθηκευμένα στο φάκελο C:WINDOWSMminidump, μπορείτε να κάνετε κλικ στο κουμπί "Προεπιλογή". Κάντε κλικ στο OK και μεταβείτε στη διεπαφή του προγράμματος.

Το πρόγραμμα αποτελείται από τρία κύρια μπλοκ:

Στο μπλοκ της λίστας ένδειξης σφαλμάτων μνήμης (σημειώνεται με τον αριθμό 2 στην εικόνα), επιλέξτε το dump που μας ενδιαφέρει και δείτε τη λίστα των προγραμμάτων οδήγησης που φορτώθηκαν στη μνήμη RAM (σημειώνεται με τον αριθμό 3 στην εικόνα). Τα προγράμματα οδήγησης που υπήρχαν στη στοίβα μνήμης έχουν ροζ χρώμα. Είναι η αιτία του BSoD. Στη συνέχεια, μεταβείτε στο Κύριο μενού του προγράμματος οδήγησης, προσδιορίστε σε ποια συσκευή ή πρόγραμμα ανήκουν. Πρώτα απ 'όλα, δώστε προσοχή σε αρχεία εκτός συστήματος, γιατί τα αρχεία συστήματος φορτώνονται στη μνήμη RAM σε κάθε περίπτωση. Είναι εύκολο να δει κανείς ότι το ελαττωματικό πρόγραμμα οδήγησης στην εικόνα είναι το myfault.sys. Θα πω ότι αυτό το πρόγραμμα ξεκίνησε ειδικά για να προκαλέσει ένα σφάλμα διακοπής. Αφού εντοπίσετε το ελαττωματικό πρόγραμμα οδήγησης, πρέπει είτε να το ενημερώσετε είτε να το αφαιρέσετε από το σύστημα.

Προκειμένου το πρόγραμμα να εμφανίσει μια λίστα προγραμμάτων οδήγησης που βρίσκονται στη στοίβα μνήμης όταν εμφανίζεται ένα BSoD, πρέπει να μεταβείτε στο στοιχείο μενού "Επιλογές", κάντε κλικ στο μενού "LowerPaneMode" και επιλέξτε "OnlyDriversFoundInStack" (ή πατήστε το πλήκτρο F7 πλήκτρο) και για να εμφανίσετε ένα στιγμιότυπο οθόνης του σφάλματος, επιλέξτε "BlueScreeninXPStyle" (F8). Για να επιστρέψετε στη λίστα όλων των προγραμμάτων οδήγησης, πρέπει να επιλέξετε "AllDrivers" (F6).

Θα ήμουν ευγνώμων αν χρησιμοποιούσατε τα κουμπιά:

Ανάλυση σφαλμάτων των Windows

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

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

Η ένδειξη σφαλμάτων μπορεί να αναλυθεί χρησιμοποιώντας το βοηθητικό πρόγραμμα BlueScreenView ή το πρόγραμμα εντοπισμού σφαλμάτων συστήματος WinDbg (Εργαλεία εντοπισμού σφαλμάτων για Windows).

Ανάλυση σφαλμάτων με χρήση του βοηθητικού προγράμματος BlueScreenView

Το απλούστερο εργαλείο για την ανάλυση των σφαλμάτων είναι το βοηθητικό πρόγραμμα BlueScreenView από το NirSoft.

Κατεβάστε το πρόγραμμα από τον ιστότοπο του προγραμματιστή.

Το BlueScreenView σαρώνει το φάκελο minidump και εμφανίζει πληροφορίες σχετικά με τα σφάλματα που εντοπίστηκαν.

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

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

Κάνοντας διπλό κλικ εμφανίζονται πρόσθετες πληροφορίες.

Ανάλυση ενός crash dump χρησιμοποιώντας το πρόγραμμα εντοπισμού σφαλμάτων WinDbg

Χρησιμοποιώντας το WinDbg, μπορείτε να εξαγάγετε πιο λεπτομερείς πληροφορίες από μια ένδειξη crash, συμπεριλαμβανομένης της μεταγραφής της στοίβας κλήσεων.

Εγκατάσταση εργαλείων εντοπισμού σφαλμάτων για Windows (WinDbg)

Η Microsoft διανέμει το WinDbg μόνο ως μέρος του SDK, μπορείτε να κάνετε λήψη του προγράμματος εγκατάστασης web από τη σελίδα λήψης του Κέντρου προγραμματιστών.

Δεν απαιτείται εγκατάσταση SDK για την ανάλυση ενδείξεων σφαλμάτων. Μπορείτε να κατεβάσετε τα Εργαλεία εντοπισμού σφαλμάτων για Windows (WinDbg) ως ξεχωριστό πακέτο εδώ ή εδώ.

Κατεβάστε και εγκαταστήστε το WinDbg για την έκδοση των Windows. Η έκδοση για Windows 7 λειτουργεί επίσης σε Windows XP και Windows Vista.

Τα Windows 10 απαιτούν WinDbg έκδοση 10.0.10586.567. Πραγματοποιήστε λήψη του Windows 10 Standalone SDK Το πρόγραμμα εγκατάστασης ιστού. Κατά την εγκατάσταση, απενεργοποιήστε όλα τα στοιχεία εκτός από το πρόγραμμα εντοπισμού σφαλμάτων.

Μετά την εγκατάσταση, προσαρμόζουμε τη συντόμευση για την εκκίνηση του WinDbg. Στις ιδιότητες συντόμευσης, επιλέξτε το πλαίσιο για εκτέλεση ως διαχειριστής. Επίσης, ως φάκελο εργασίας, ορίστε: %SystemRoot%Minidump.

Ρύθμιση συμβόλων εντοπισμού σφαλμάτων

Τα σύμβολα εντοπισμού σφαλμάτων περιέχουν συμβολικά ονόματα συναρτήσεων από τον πηγαίο κώδικα. Είναι απαραίτητα για την αποκρυπτογράφηση και την ερμηνεία του crash dump.

Όταν ξεκινάτε για πρώτη φορά το WinDbg, πρέπει να καθορίσετε τη διαδρομή προς τα σύμβολα εντοπισμού σφαλμάτων για να το κάνετε αυτό, ανοίξτε το μενού Αρχείο, Διαδρομή αρχείου συμβόλων ή χρησιμοποιήστε το συνδυασμό Ctrl+S.

Η επόμενη γραμμή επιτρέπει τη φόρτωση των συμβόλων εντοπισμού σφαλμάτων από το δίκτυο, ορίζοντας την τοπική διαδρομή για την αποθήκευση αρχείων και τη διεύθυνση για λήψη από το Διαδίκτυο:

srv*C:windowssymbols*http://msdl.microsoft.com/download/symbols

Εάν το σύστημά σας δεν είναι συνδεδεμένο στο Διαδίκτυο, μπορείτε να προλάβετε το πακέτο εγκατάστασης συμβόλων από τη σελίδα λήψης των Windows Symbol Packs του Κέντρου Ανάπτυξης της Microsoft.

Ανάλυση crash dump

Εκκινήστε το WinDbg.

Στο μενού, επιλέξτε Αρχείο, Ανοίξτε το Crash Dump ή πατήστε Ctrl+D.

Καθορίστε τη διαδρομή προς την ένδειξη %SystemRoot%MEMORY.DMP ή %SystemRoot%Minidumpfile.dmp.

Για να λάβετε λεπτομερείς πληροφορίες, εκτελέστε την εντολή:

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

Ως αποτέλεσμα, παίρνουμε την ακόλουθη έξοδο:

**************************************************** ******************* * * * Ανάλυση ελέγχου σφαλμάτων * * * ************* ********** ************************************************** Τύπος σφάλματος: KMODE_EXCEPTION_NOT_HANDLED (1ε) Σχόλιο σφάλματος: Αυτός είναι ένας πολύ κοινός έλεγχος σφαλμάτων. Συνήθως η διεύθυνση εξαίρεσης εντοπίζει με ακρίβεια το πρόγραμμα οδήγησης/τη λειτουργία που προκάλεσε το πρόβλημα. Σημειώνετε πάντα αυτή τη διεύθυνση καθώς και την ημερομηνία σύνδεσης του προγράμματος οδήγησης/εικόνα που περιέχει αυτή τη διεύθυνση. Ορίσματα: Ορίσματα σφάλματος: Arg1: 00000000000000000, Ο κωδικός εξαίρεσης που δεν χειρίστηκε Arg2: 00000000000000000, Η διεύθυνση που προέκυψε η εξαίρεση στο Arg3: 000000000000000, Παράμετρος 400000000000000, Παράμετρος 0000000000 1 της εξαίρεσης Λεπτομέρειες εντοπισμού σφαλμάτων: —— ———— EXCEPTION_CODE: (Win32) 0 (0) — . FAULTING_IP: +3332313336383065 00000000`00000000 ?? ??? EXCEPTION_PARAMETER1: 000000000000000 EXCEPTION_PARAMETER2: 000000000000000 ΣΦΑΛΜΑ_ΚΩΔΙΚΟΣ: (NTSTATUS) 0 - STATUS_WAIT_0 BUGCHECK_STR_000000000 : IVER_FAULT Διεργασία που προκάλεσε το σφάλμα: PROCESS_NAME: VirtualBox.exe CURRENT_IRQL: 2 EXCEPTION_RECORD: fffff80000ba24d8 - (.exr 0xfffff80000ba24d8) ExceptionAddress: fff4070 nt !DbgBreakPoint) ExceptionCode: 80000003 (Εξαίρεση εντολής διακοπής) ExceptionFlags: 00000000 NumberΠαράμετροι: 1 Παράμετρος: 000000000000000 TRAP_FRAME: fffff200ff80000 ) ΣΗΜΕΙΩΣΗ: Το πλαίσιο παγίδας δεν περιέχει όλους τους καταχωρητές. Ορισμένες τιμές καταχωρητή μπορεί να είναι μηδενισμένες ή λανθασμένες. RAX = 0000000000142940 RBX = 00000000000000 rCX = FFFFFA80055BE690 RDX = 0000000000009018 RSI = 0000000000 rdi = 0000000000000000 34D8A71 RSP = FFFFFFFFFFFFFFFFA. 0000000000002274 R9 = 11D0851B22C6AC61 R10 = FFFFFF80003464000 R11 = FFFFFF80000BA27E0 R12 = 000000 00000000 R13 = 00000000000000 R14 = 00000000000000 R13 = 000000000000 r14 = 000000000000 r13 = 00000000000000 r14 = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000. iopl=0 nv up ei pl nz ac po nc nt!DbgBreakPoint+0x1: fffff800`034d8a71 c3 ret Επαναφορά προεπιλεγμένου εύρους LAST_CONTROL_TRANSFER: από fffff800034d85fe σε fffff80ffcT 0`00ba15b8 fffff800`034d85fe: fffffa80`03c05530 00000000`ffffffff fffff800`00ba1d30 fffff800`0350c830: nt!KeBugCheck fffff800`00ba15c0 fffff800`0350c4fd: fffff800`036ea71c fffff800`036 00ba 24d8: nt!KiKernelCalloutExceptionHandler+0xe fffff800`00ba15f0 fffff800`0350b2d5: fffff800`0362b028 fffff800`00ba1668 fffff800 ` 00ba24d8 fffff800`03464000: nt!RtlpExecuteHandlerForException+0xd fffff800`00ba1620 fffff800`0351c361: fffff800`00ba24d8`00000000000 000 000`00142940: nt! RtlDispatchException+0x415 fffff800`00ba1d00 fffff800`034e02c2: fffff800`00ba24d8 fffff800`07149010 fffff800`00ba2580 00`00000 x135 f ffff800`00ba23a0 fffff800`034de0f4: 00000000`00000016 00000000`000000001 000000000`0000:000000000 !KiExceptionDispatch+0xc2 fffff800`00ba2580 fffff800`034d8a71: fffff880`05861446 00000000`df029940 fffff880`02f45bec0000 +0xf4 fff ff800`00ba2718 fffff880`05861446: 00000000`df029940 fffff880`02f45bec 00000000`deee7000 fffff880`06:0129 t! fffff800` 00ba2728 fffff880`02f45bec: 00000000`deee7000 fffff880`01229f06 fffffa80`05635af8 00000000`00000000`00000000`00000000`00000000`00000000`000000000`00000000`0000000000: `00ba2730 00000000`deee7000: fffff880`01229f06 ffffa80`05635af8 00000000`00000000 00000000`00000000`00000000`00000000`00000000`00000000`00000000`00000000`00000000`00000000`0000 0`01229f0 6: fffffa80`05635af8 00000000`00000000 00000000`000000003 fffff880`05865913: 0xdeee7000 fffff8000000000000000000000 : 00000000 00000001 0000000000000006 000000000000000001 FFFFF800 00BA2800: classpnp! Classpserviceidlerequest+0x26 stack_command: kb untorup_ip: cmudaxp+25446 fffff880`05861446? ??? SYMBOL_STACK_INDEX: 8 SYMBOL_NAME: cmudaxp+25446 FOLLOWUP_NAME: Πρόγραμμα οδήγησης κατόχου μηχανής στο οποίο παρουσιάστηκε το σφάλμα: MODULE_NAME: cmudaxp IMAGE_NAME: cmudaxp.sys DEBUG_FLR_IMAGE_TIMESTAMPa 4500IDXI cmudaxp+25446 BUCKET_ID: X64_0x1E_0_cmudaxp+25446 Παρακολούθηση: Ιδιοκτήτης μηχανήματος ———

Λήψη πληροφοριών σχετικά με το προβληματικό πρόγραμμα οδήγησης

Εάν εντοπιστεί το πρόγραμμα οδήγησης με το σφάλμα, το όνομα του προγράμματος οδήγησης θα εμφανιστεί στα πεδία MODULE_NAME και IMAGE_NAME.

Για να λάβετε τη διαδρομή του αρχείου και άλλες πληροφορίες, κάντε κλικ στον σύνδεσμο προς τη λειτουργική μονάδα:

Όνομα ενότητας έναρξης τέλους fffff880`0583c000 fffff880`059ef000 cmudaxp T (χωρίς σύμβολα) Φορτωμένο αρχείο εικόνας συμβόλου: cmudaxp.sys Διαδρομή εικόνας: SystemRootsystem32driverscmudaxp.sys Όνομα εικόνας: cmudaxp.sys Χρονική σήμανση: Παρ 3 Ιαν. 18:504 A. CheckSum: 0013077F Μέγεθος εικόνας: 001B3000 Μεταφράσεις: 0000.04b0 0000.04e4 0409.04b0 0409.04e4

Εάν δεν έχει καθοριστεί η πλήρης διαδρομή προς το πρόγραμμα οδήγησης, ο προεπιλεγμένος φάκελος είναι %SystemRoot%system32drivers.

Βρίσκουμε το καθορισμένο αρχείο και μελετάμε τις ιδιότητές του.

Ενημερώνουμε το προβληματικό πρόγραμμα οδήγησης.

Αιτίες υλικού κρίσιμων σφαλμάτων

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

Διάγνωση αστοχιών δίσκου

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

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

Ελέγχουμε τις παραμέτρους S.M.A.R.T του σκληρού δίσκου, μπορείτε να τις λάβετε, για παράδειγμα, χρησιμοποιώντας το πρόγραμμα SpeedFan.

Δίνουμε ιδιαίτερη προσοχή στις ακόλουθες παραμέτρους: "Τρέχουσα μέτρηση τομέα σε εκκρεμότητα" και "Μη διορθωμένη μέτρηση τομέα" οι μη μηδενικές τιμές αυτών των παραμέτρων υποδεικνύουν αστοχία δίσκου.

Μια μη μηδενική τιμή παραμέτρου: "UltraDMA CRC Error Count" υποδηλώνει πρόβλημα με το καλώδιο SATA.

Μάθετε περισσότερα για τις επιλογές S.M.A.R.T. διαβάστε στο άρθρο της Wikipedia.

Διάγνωση προβλημάτων μνήμης

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

Μπορείτε να εντοπίσετε προβλήματα μνήμης χρησιμοποιώντας το βοηθητικό πρόγραμμα Memtest86+.

Ξεκινώντας με τα Windows Vista, το σύστημα έχει τη δική του δοκιμή μνήμης. Για να το εκκινήσετε, κάντε κλικ στο "Start", πληκτρολογήστε "memory" στη γραμμή αναζήτησης, επιλέξτε "Windows Memory Diagnostic Tool".

Τα προβλήματα μνήμης μπορούν σε ορισμένες περιπτώσεις να επιλυθούν με ενημέρωση του BIOS.

Διαμόρφωση επιλογών αποθήκευσης crash dump

Για να αλλάξετε τις ρυθμίσεις για την αποθήκευση μιας ένδειξης σφαλμάτων, κάντε κλικ στο κουμπί "Έναρξη", κάντε δεξί κλικ στο "Υπολογιστής" και επιλέξτε "Ιδιότητες" στο μενού περιβάλλοντος. Στο παράθυρο "Σύστημα" στα αριστερά, επιλέξτε "Προηγμένες ρυθμίσεις συστήματος", στην ομάδα "Εκκίνηση και ανάκτηση", κάντε κλικ στο κουμπί "Επιλογές".

Διαβάστε περισσότερα για τις χωματερές μνήμης εδώ.

Μπλε οθόνη θανάτου - τι να κάνετε και πώς να εντοπίσετε το σφάλμα

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

Τύποι χωματερών

Υπάρχουν τρεις τύποι χωματερών:

Προκειμένου το σύστημα να αποθηκεύσει μια μικρή χωματερή, είναι απαραίτητο να ορίσετε ορισμένες παραμέτρους.

Για Windows 7 και Windows XP OS

Κάντε κλικ στο «Έναρξη», κάντε δεξί κλικ στο «Υπολογιστής» και επιλέξτε «Ιδιότητες».

Μεταβείτε στην ενότητα "Σύνθετες ρυθμίσεις συστήματος".

Εμφανίζεται το παράθυρο Ιδιότητες συστήματος. Στην καρτέλα "Για προχωρημένους", στην ενότητα "Εκκίνηση και ανάκτηση", κάντε κλικ στο "Επιλογές".

Επιλέξτε "Small memory dump" και κάντε κλικ στο "Ok" για να αποθηκεύσετε τις αλλαγές.

Ανάλυση μιας μικρής χωματερής με χρήση μπλε οθόνης

Το πρόγραμμα Blue Screen View κατεβάζεται ως αρχείο εδώ και δεν απαιτεί εγκατάσταση. Για να το χρησιμοποιήσουμε για να προσδιορίσουμε την αιτία της αποτυχίας του συστήματος, εκτελούμε τα ακόλουθα βήματα.

Εκκινούμε μια εφαρμογή στο αρχείο που είναι πανομοιότυπη με το όνομα του προγράμματος.

Θα ανοίξει ένα παράθυρο λογισμικού. Η διεπαφή είναι απλή, ωστόσο, στα αγγλικά. Πρώτα απ 'όλα, υποδεικνύουμε τη θέση αποθήκευσης της μικρής χωματερής. Κάντε κλικ στο «Επιλογές» και επιλέξτε «Επιλογές για προχωρημένους».

Τοποθετήστε ένα σημάδι επιλογής δίπλα στην πρώτη ενότητα "Φόρτωση από τον ακόλουθο φάκελο Mini Dump" και υποδείξτε το φάκελο όπου βρίσκεται το στιγμιότυπο σφάλματος. Εάν είχε οριστεί αρχικά μια μικρή ένδειξη στις ρυθμίσεις συστήματος, το ίδιο το πρόγραμμα θα υποδείξει τη διαδρομή προς το στιγμιότυπο C:WINDOWSMminidump. Κάντε κλικ στο "Ok" για να μεταβείτε στη διεπαφή του προγράμματος.

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

Τα προγράμματα οδήγησης που προκαλούν αποτυχία συστήματος υποδεικνύονται με ροζ στη λίστα.

Εάν δεν έχετε λίστα προγραμμάτων οδήγησης, κάντε κλικ στο «Επιλογές». Μεταβείτε στο "LowerPaneMode" και επιλέξτε "OnlyDriversFoundInStack".

Έχοντας προσδιορίσει ποιο πρόγραμμα οδήγησης απέτυχε, διορθώνουμε το πρόβλημα.

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

Η αιτία των κρίσιμων σφαλμάτων των Windows που συνοδεύονται από μπλε οθόνες (BSOD) είναι συχνά ένα πρόγραμμα οδήγησης - πρόσφατα εγκατεστημένο ή κατεστραμμένο. Αφού προσδιορίσετε ποιο πρόγραμμα οδήγησης προκαλεί το σφάλμα, μπορείτε να αρχίσετε να επιδιορθώνετε το πρόβλημα: ενημερώστε το πρόγραμμα οδήγησης, επαναφέρετε σε προηγούμενη έκδοση, εγκαταστήστε ξανά ή αφαιρέστε την εφαρμογή που εγκατέστησε το πρόγραμμα οδήγησης κ.λπ. Το όνομα του προγράμματος οδήγησης δεν εμφανίζεται πάντα με μπλε χρώμα οθόνη. Ωστόσο, υπάρχει ένας πολύ απλός τρόπος που σας επιτρέπει να αναγνωρίσετε το προβληματικό πρόγραμμα οδήγησης μέσα σε λίγα λεπτά χρησιμοποιώντας μια ένδειξη μνήμης.

Βήμα 1 - Ενεργοποίηση εγγραφής απόρριψης μνήμης

Πρώτα πρέπει να βεβαιωθείτε ότι είναι ενεργοποιημένη η καταγραφή απόρριψης. Για να το κάνετε αυτό, ανοίξτε τις ιδιότητες συστήματος πατώντας το συνδυασμό πλήκτρων Win+Pause, [στα Vista, κάντε κλικ στο σύνδεσμο Ρυθμίσεις συστήματος για προχωρημένους], μεταβείτε στην καρτέλα Για προχωρημένους και, τέλος, κάντε κλικ στο κουμπί Εκκίνηση και ανάκτηση.

Οι μικρές αποθήκες μνήμης θα πρέπει να είναι επαρκείς για τους σκοπούς μας.

Δώστε προσοχή στη διαδρομή προς το φάκελο όπου θα αποθηκευτούν εάν παρουσιαστεί κρίσιμο σφάλμα.

Τώρα μπορείτε να κάνετε zip το αρχείο σε ένα αρχείο, να το επισυνάψετε σε μια ανάρτηση στο φόρουμ Αντιμετώπιση κρίσιμων σφαλμάτων των Windows και να περιμένετε μέχρι κάποιος να σας πει το όνομα του προβληματικού προγράμματος οδήγησης :) Αλλά μπορείτε να το κάνετε μόνοι σας χωρίς μεγάλη προσπάθεια.

Βήμα 2 - Λήψη και εγκατάσταση διαγνωστικών εργαλείων

Δεν είναι τόσο τρομακτικό όσο νομίζεις :)

Βήμα 3 - Ανάλυση του Memory Dump

Τώρα όλα καταλήγουν στην εκτέλεση μιας εντολής. Ανοίξτε μια γραμμή εντολών και μεταβείτε στον φάκελο από τον οποίο εξαγάξατε το kdfe.cmd. Εκτελέστε το αρχείο, καθορίζοντας τη διαδρομή προς το αρχείο ένδειξης σφαλμάτων μνήμης ως παράμετρο (στο παρακάτω παράδειγμα το αρχείο ονομάζεται Mini1110307-01.dmp)

kdfe.cmd "%systemroot%MinidumpMini1110307-01.dmp"

Σε ένα λεπτό θα δείτε το αποτέλεσμα.

Ο οδηγός που προκάλεσε το σφάλμα έχει εντοπιστεί!

Επιπρόσθετοι πόροι

Όλα τα συστήματα Windows, όταν εντοπίζεται ένα μοιραίο σφάλμα, κάνουν ένα crash dump (στιγμιότυπο) των περιεχομένων της RAM και το αποθηκεύουν στον σκληρό δίσκο. Υπάρχουν τρεις τύποι αποθήκευσης μνήμης:

Πλήρης αποθήκευση μνήμης – αποθηκεύει ολόκληρο το περιεχόμενο της μνήμης RAM. Το μέγεθος της εικόνας είναι ίσο με το μέγεθος της μνήμης RAM + 1 MB (κεφαλίδα). Χρησιμοποιείται πολύ σπάνια, καθώς σε συστήματα με μεγάλες ποσότητες μνήμης το μέγεθος της ένδειξης θα είναι πολύ μεγάλο.

Εντοπισμός μνήμης πυρήνα – αποθηκεύει πληροφορίες RAM που σχετίζονται μόνο με τη λειτουργία πυρήνα. Οι πληροφορίες λειτουργίας χρήστη δεν αποθηκεύονται επειδή δεν περιέχουν πληροφορίες σχετικά με την αιτία της διακοπής λειτουργίας του συστήματος. Το μέγεθος του αρχείου ένδειξης σφαλμάτων εξαρτάται από το μέγεθος της μνήμης RAM και ποικίλλει από 50 MB (για συστήματα με 128 MB μνήμης RAM) έως 800 MB (για συστήματα με 8 GB μνήμης RAM).

Μικρή ένδειξη αποθήκευσης μνήμης (mini dump) - περιέχει έναν αρκετά μικρό όγκο πληροφοριών: έναν κωδικό σφάλματος με παραμέτρους, μια λίστα προγραμμάτων οδήγησης που φορτώθηκαν στη μνήμη RAM τη στιγμή της συντριβής του συστήματος, κ.λπ., αλλά αυτές οι πληροφορίες είναι αρκετές για τον εντοπισμό του ελαττωματικού προγράμματος οδήγησης . Ένα άλλο πλεονέκτημα αυτού του τύπου dump είναι το μικρό μέγεθος αρχείου.

Εγκατάσταση συστήματος

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

Για Windows Xp Για Windows 7
  1. Ο υπολογιστής μου Ιδιότητες
  2. Μεταβείτε στην καρτέλα Επιπροσθέτως;
  3. Επιλογές;
  4. Στο χωράφι Καταγραφή πληροφοριών εντοπισμού σφαλμάτωνεπιλέγω Μικρή ένδειξη μνήμης (64 KB).
  1. Κάντε δεξί κλικ στο εικονίδιο Υπολογιστήαπό το μενού περιβάλλοντος επιλέξτε Ιδιότητες(ή τον συνδυασμό πλήκτρων Win+Pause).
  2. Στο αριστερό μενού, κάντε κλικ στο στοιχείο Προηγμένες ρυθμίσεις συστήματος;
  3. Μεταβείτε στην καρτέλα Επιπροσθέτως;
  4. Στο πεδίο Λήψη και ανάκτηση, πρέπει να κάνετε κλικ στο κουμπί Επιλογές;
  5. Στο χωράφι Καταγραφή πληροφοριών εντοπισμού σφαλμάτωνεπιλέγω Μικρή ένδειξη μνήμης (128 KB).

Έχοντας ολοκληρώσει όλους τους χειρισμούς, μετά από κάθε BSoD ένα αρχείο με την επέκταση .dmp θα αποθηκευτεί στο φάκελο C:\WINDOWS\Minidump. Σας συμβουλεύω να διαβάσετε το υλικό "". Μπορείτε επίσης να επιλέξετε το πλαίσιο " Αντικαταστήστε το υπάρχον αρχείο ένδειξης σφαλμάτων" Σε αυτήν την περίπτωση, κάθε νέο crash dump θα γράφεται πάνω από το παλιό. Δεν προτείνω την ενεργοποίηση αυτής της επιλογής.

Ανάλυση ενός crash dump χρησιμοποιώντας το BlueScreenView

Έτσι, μετά την εμφάνιση της Μπλε Οθόνη του Θανάτου, το σύστημα έσωσε μια νέα ένδειξη crash memory. Για να αναλύσετε τη χωματερή, προτείνω να χρησιμοποιήσετε το πρόγραμμα BlueScreenView. Μπορείτε να το κατεβάσετε δωρεάν. Το πρόγραμμα είναι αρκετά βολικό και έχει μια διαισθητική διεπαφή. Μετά την εγκατάστασή του, το πρώτο πράγμα που πρέπει να κάνετε είναι να καθορίσετε τη θέση για την αποθήκευση των ενδείξεων μνήμης στο σύστημα. Για να το κάνετε αυτό, μεταβείτε στο στοιχείο μενού " Επιλογές" και επιλέξτε " ΠροχωρημένοςΕπιλογές" Επιλέξτε το κουμπί επιλογής " ΦορτώνωαπόοΕΠΟΜΕΝΟMini Dumpντοσιέ” και καθορίστε τον φάκελο στον οποίο αποθηκεύονται τα dump. Εάν τα αρχεία είναι αποθηκευμένα στο φάκελο C:\WINDOWS\Minidump, μπορείτε να κάνετε κλικ στο " Προκαθορισμένο" Κάντε κλικ στο OK και μεταβείτε στη διεπαφή του προγράμματος.

Το πρόγραμμα αποτελείται από τρία κύρια μπλοκ:

  1. Κύριο μπλοκ μενού και πίνακας ελέγχου.
  2. Μπλοκ λίστας ένδειξης σφαλμάτων.
  3. Ανάλογα με τις επιλεγμένες παραμέτρους, μπορεί να περιέχει:
  • μια λίστα με όλα τα προγράμματα οδήγησης στη μνήμη RAM πριν εμφανιστεί η μπλε οθόνη (από προεπιλογή).
  • μια λίστα προγραμμάτων οδήγησης που βρίσκονται στη στοίβα RAM.
  • στιγμιότυπο οθόνης BSoD.
  • και άλλες αξίες που δεν θα χρησιμοποιήσουμε.

Στο μπλοκ της λίστας ένδειξης σφαλμάτων μνήμης (σημειώνεται με τον αριθμό 2 στην εικόνα), επιλέξτε το dump που μας ενδιαφέρει και δείτε τη λίστα των προγραμμάτων οδήγησης που φορτώθηκαν στη μνήμη RAM (σημειώνεται με τον αριθμό 3 στην εικόνα). Τα προγράμματα οδήγησης που υπήρχαν στη στοίβα μνήμης έχουν ροζ χρώμα. Είναι η αιτία του BSoD. Στη συνέχεια, μεταβείτε στο Κύριο μενού του προγράμματος οδήγησης, προσδιορίστε σε ποια συσκευή ή πρόγραμμα ανήκουν. Πρώτα απ 'όλα, δώστε προσοχή σε αρχεία εκτός συστήματος, γιατί τα αρχεία συστήματος φορτώνονται στη μνήμη RAM σε κάθε περίπτωση. Είναι εύκολο να δει κανείς ότι το ελαττωματικό πρόγραμμα οδήγησης στην εικόνα είναι το myfault.sys. Θα πω ότι αυτό το πρόγραμμα ξεκίνησε ειδικά για να προκαλέσει ένα σφάλμα διακοπής. Αφού εντοπίσετε το ελαττωματικό πρόγραμμα οδήγησης, πρέπει είτε να το ενημερώσετε είτε να το αφαιρέσετε από το σύστημα.

Για να εμφανίσει το πρόγραμμα μια λίστα προγραμμάτων οδήγησης που βρίσκονται στη στοίβα μνήμης όταν εμφανίζεται ένα BSoD, πρέπει να μεταβείτε στο στοιχείο μενού " Επιλογές"κλικ στο μενού" Πιο χαμηλαΤζάμιΤρόπος" και επιλέξτε " ΜόνοΟδηγοίΒρέθηκανΣεΣωρός" (ή πατήστε το πλήκτρο F7) και για να εμφανίσετε ένα στιγμιότυπο οθόνης του σφάλματος, επιλέξτε " ΜπλεΟθόνησεXPΣτυλ” (F8). Για να επιστρέψετε στη λίστα όλων των προγραμμάτων οδήγησης, πρέπει να επιλέξετε « ΟλαΟδηγοί” (F6).