Εάν έχετε ένα λεγόμενο μπλε οθόνηθάνατος στα Windows 10 και είστε έτοιμοι να πέσετε σε νευρικό κώμα, μαζευτείτε και προσπαθήστε να λύσετε το πρόβλημα. Αρχικά, αξίζει να πούμε ότι αυτό το δυσοίωνο μήνυμα σας σηματοδοτεί για ένα κρίσιμο σφάλμα συστήματος. Επιπλέον, δεν είναι πάντα δυνατό να πιάσετε τη στιγμή και να έχετε χρόνο να διαβάσετε τον κωδικό σφάλματος όταν τα Windows πέφτουν στη μπλε οθόνη του θανάτου και η συσκευή επανεκκινείται. Σημειώνουμε αμέσως ότι υπάρχει μεγάλο ποσόλύσεις σε αυτό το πρόβλημα, καθώς και τις αιτίες της μπλε οθόνης. Σε αυτό το άρθρο, θα προσπαθήσουμε να εξετάσουμε πιθανές αιτίεςη εμφάνιση μιας μπλε οθόνης ευτυχίας, καθώς και περίπου ΠΙΘΑΝΕΣ ΛΥΣΕΙΣΠροβλήματα.

Στη συντριπτική πλειονότητα των περιπτώσεων, η μπλε οθόνη θανάτου σηματοδοτεί ένα σφάλμα BAD_POOL_CALLER - stop 0x000000c2. Είναι ειλικρινά δύσκολο να διαγνωστεί αυτό το σφάλμα, αλλά είναι πιθανό ότι θα προσπαθήσουμε να περιγράψουμε τον αλγόριθμο των επόμενων ενεργειών σας χρησιμοποιώντας το παράδειγμα αυτού του σφάλματος.

Για να διαγνώσετε σωστά ένα πρόβλημα, πρέπει πρώτα να αναλύσετε ειδικό αρχείοσύστημα που ονομάζεται minidump (memory dump). Η δημιουργία τέτοιων αρχείων οδηγεί σε αστοχία στο σύστημα, επιπλέον, μπορούν να μας ενημερώσουν - τι ακριβώς οδήγησε στην αποτυχία.

1. Για να ενεργοποιήσετε μια τέτοια αυτόματη εγγραφή μιας μικρής ένδειξης μνήμης (απενεργοποιημένη από προεπιλογή), μεταβείτε στις ιδιότητες του υπολογιστή και μεταβείτε στην ενότητα " Επιπλέον επιλογέςσυστήματα" (αυτή η συμπερίληψη παρέχεται για όλα τα συστήματα, όχι μόνο για τα Windows 10):

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

Δύο τρόποι για την αποκρυπτογράφηση της μικρής μνήμης dame minidump

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

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

Για δεύτερη μέθοδοςπρέπει να εγκαταστήσετε τα Εργαλεία εντοπισμού σφαλμάτων για Windows και επίσης να κάνετε λήψη του βοηθητικού προγράμματος bsdos_utility. Επιπλέον, αφού αποσυμπιέσετε το σενάριο bsdos_utility.cmd, θα πρέπει να το μετακινήσετε στη μονάδα δίσκου C:\ (μπορείτε να δημιουργήσετε έναν ξεχωριστό φάκελο, αλλά να θυμάστε ότι η συμβολοσειρά διεύθυνσης εκκίνησης του σεναρίου θα διαφέρει από το παράδειγμά μας). Στη συνέχεια, στη γραμμή εντολών, γράψτε:

C:\bsdos_utility.cmd

Αφού εμφανιστεί η λίστα με όλα τα dump από τη λίστα C:\Windows\Minidump\, μετά την οποία το σενάριο θα ρωτήσει ποια ένδειξη πρέπει να αναλυθεί. Μπορείτε επίσης να επιλέξετε μόνοι σας το επιθυμητό minidump κατά την εκτέλεση του σεναρίου:

Με αυτόν τον τρόπο είναι δυνατός ο εντοπισμός της μάζας Σφάλματα των Windows 10, το οποίο προκάλεσε BSOD, καθώς και προβληματικά προγράμματα .exe που προκάλεσαν μπλε οθόνη.

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

Ένα σύνολο βοηθητικών προγραμμάτων θα ληφθεί και θα εγκατασταθεί από το Διαδίκτυο στον φάκελο που καθορίζεται στην πρώτη οθόνη.

Αφού ολοκληρωθεί η εγκατάσταση, βρίσκουμε στο μενού "Έναρξη" ή στην οθόνη έναρξης στην ομάδα συντομεύσεων Κιτ Windowsχρησιμότητα windbgκαι εκτελέστε το με δικαιώματα διαχειριστή

Εάν για κάποιο λόγο δεν ήταν δυνατή η εύρεση της συντόμευσης, τότε μπορείτε να εκτελέσετε το εκτελέσιμο αρχείο από τον κατάλογο εγκατάστασης - C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe

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

SRV*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Αποθηκεύουμε τις ρυθμίσεις επιλέγοντας τα στοιχεία στο κύριο μενού αρχείο > Αποθήκευση χώρου εργασίας

Ανοίξτε το αρχείο ένδειξης σφαλμάτων μνήμης επιλέγοντας από το μενού αρχείο > Ανοίξτε το Crash Dump...

Επιλέξτε ένα αρχείο ΜΝΗΜΗ.DMP(βρίσκεται από προεπιλογή στον κατάλογο C:\Windows) και κάντε κλικ Άνοιξε

Θα εμφανιστούν πληροφορίες σχετικά με το ποια συγκεκριμένη εκτελέσιμη μονάδα προκάλεσε τη διακοπή λειτουργίας του συστήματος. Κάνοντας κλικ σε έναν υπερσύνδεσμο !analyze-vμπορείτε να λάβετε πιο λεπτομερείς πληροφορίες σχετικά με την κατάσταση του συστήματος τη στιγμή του σφάλματος διακοπής.

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

cd /d" C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\" kd -z "D:\DOWNLOADS\VM05\MEMORY.DMP " .logopen C:\Debuglog.txt .sympath srv*C:\Windows\symbol_cache*http://msdl.microsoft.com/download/symbols

Σε αυτό το παράδειγμα, όλες οι πληροφορίες ανάλυσης dump θα μεταφερθούν σε αναγνώσιμη μορφή στο αρχείο C:\Debuglog.txt

Πηγές πληροφοριών:

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

Ρύθμιση αποθήκευσης μνήμης των Windows 10

Και, λοιπόν, τι είναι μια χωματερή μνήμης στο λειτουργικό σύστημα Windows 10 Redstone. Σας το περιέγραψα παραπάνω Κοινή αιτίαστο οποίο εμφανίζεται μια ένδειξη μνήμης συστήματος και αυτές είναι μπλε οθόνες θανάτου. Οι λόγοι για την εμφάνισή τους είναι πολύ εκτενείς:

  • Ασυμβατότητα εφαρμογής
  • Ασυμβατότητα προγράμματος οδήγησης
  • Νέος ενημερώσεις των windows
  • Η συσκευή δεν είναι συμβατή

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

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

Πού είναι ρυθμισμένο το crash dump των Windows 10;

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

Στο παράθυρο System που ανοίγει, βρίσκεστε στα αριστερά πάνω γωνίαεπιλέξτε Προηγμένες Επιλογές Συστήματος.

Εδώ διαμορφώνεται η ένδειξη αποθήκευσης μνήμης των Windows 10. Κάντε κλικ στο στοιχείο ρυθμίσεων στην ενότητα Εκκίνηση και ανάκτηση.

Από τις ρυθμίσεις, αποθήκευση μνήμης των Windows 10, θέλω να σημειώσω τα εξής:

  • Καταγραφή συμβάντος σε syslog> εδώ πληροφορίες για τη μπλε οθόνη θα προστεθούν στα αρχεία καταγραφής λειτουργικό σύστημα.
  • Τρέξιμο αυτόματη επανεκκίνηση> για να συνεχίσετε μετά από ένα σφάλμα
  • Γράψτε πληροφορίες εντοπισμού σφαλμάτων > σας επιτρέπει να επιλέξετε τον τύπο του αρχείου ένδειξης σφαλμάτων, περισσότερα για αυτό παρακάτω.
  • Αντικαταστήστε το υπάρχον αρχείο ένδειξης σφαλμάτων, ένα χρήσιμο πλαίσιο ελέγχου, καθώς αυτές οι ενδείξεις μπορεί να ζυγίζουν δεκάδες gigabyte, είναι πολύ σημαντικό για μικρές μονάδες ssd.

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

Ας δούμε πώς διαφέρουν οι επιλογές για την εγγραφή πληροφοριών εντοπισμού σφαλμάτων.

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

– μοιραίο μήνυμα σφάλματος, οι παράμετροί του και άλλα δεδομένα·

– λίστα φορτωμένων προγραμμάτων οδήγησης.

– περιβάλλον επεξεργαστή ( PRCB) στο οποίο συνέβη η αποτυχία·

EPROCESS) για τη διαδικασία που προκάλεσε το σφάλμα.

– πληροφορίες επεξεργασίας και πλαίσιο πυρήνα ( ΑΙΘΗΜΑ) για το νήμα που προκάλεσε το σφάλμα.

– η στοίβα κλήσης λειτουργίας πυρήνα για το νήμα που προκάλεσε το σφάλμα.

Χρησιμοποιείται όταν έχετε πολύ λίγα χώρος στο δισκοπάνω στο ___ σου τοπικός δίσκος. Έτσι κάνουμε δωρεές ΧΡΗΣΙΜΕΣ ΠΛΗΡΟΦΟΡΙΕΣ, το οποίο μπορεί να μην είναι αρκετό για τη διάγνωση μπλε οθόνης.

Το minidump αποθηκεύεται στη διαδρομή C:\Windows\Minidump

  • Κλείσιμο μνήμης πυρήνα > καταγράφει μόνο τη μνήμη του πυρήνα. Ανάλογα με την ποσότητα της φυσικής μνήμης του υπολογιστή σε αυτήν την περίπτωση, το αρχείο σελιδοποίησης απαιτεί από 50 έως 800 MBή το ένα τρίτο της φυσικής μνήμης του υπολογιστή στον τόμο εκκίνησης.
  • Πλήρης χωματερή μνήμης > Λοιπόν, όλα είναι ξεκάθαρα από το όνομα. Γράφει απολύτως τα πάντα, αυτή είναι η μέγιστη πληροφορία για την μπλε οθόνη, δίνει εκατό τοις εκατό διαγνωστικά του προβλήματος.

Βρίσκεται κατά μήκος της διαδρομής C:\Windows\Memory.dmp

  • Ενεργή μνήμη απόρριψης > η ενεργή μνήμη του κεντρικού υπολογιστή έρχεται εδώ, αυτή είναι μια λειτουργία περισσότερο για πλατφόρμες διακομιστών, καθώς μπορούν να χρησιμοποιηθούν για εικονικοποίηση και έτσι ώστε οι πληροφορίες σχετικά με τις εικονικές μηχανές να μην μπαίνουν στο dump, εφευρέθηκε αυτή η επιλογή.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Λίστα εκτελούμενων διαδικασιών.
  • Η κατάσταση του τρέχοντος νήματος.
  • Σελίδες μνήμης σε λειτουργία πυρήνα που υπάρχουν στη φυσική μνήμη τη στιγμή της συντριβής: μνήμη προγράμματος οδήγησης λειτουργίας πυρήνα και μνήμη προγράμματος λειτουργίας πυρήνα.
  • Μνήμη Hardware-Aware Layer (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", ο οποίος έχει οριστεί ως ο προεπιλεγμένος τύπος. Σε αυτήν την περίπτωση, το ίδιο το σύστημα αποφασίζει ποια ένδειξη μνήμης θα γράψει σε μια κατάσταση συγκεκριμένης αποτυχίας. Επιπλέον, η λογική της επιλογής εξαρτάται από πολλά κριτήρια, συμπεριλαμβανομένης της συχνότητας της «πτώσης» του λειτουργικού συστήματος.

Αφού αλλάξετε τη ρύθμιση παραμέτρων αποθήκευσης μνήμης των 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. Για παράδειγμα, κρυπτογράφηση του περιεχομένου μιας χωματερής. Δεν συνιστάται η αλλαγή της τιμής.
συμβάν καταγραφής 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 μέθοδος απόκτησης ενός dump δεν είναι ακριβής, καθώς το dump που δημιουργείται σε αυτήν την περίπτωση είναι "ασυνεπής", καθώς χρειάζεται χρόνος για να δημιουργηθεί ένα dump και στην περίπτωση χρήσης ενός προγράμματος εντοπισμού σφαλμάτων σε λειτουργία πυρήνα , το σύστημα συνεχίζει να λειτουργεί και να κάνει αλλαγές στις σελίδες μνήμης.

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

Προσοχή!Δεν δημιουργείται ένδειξη σφάλματος εάν το υποσύστημα δίσκου έχει αποτύχει ή κρίσιμο σφάλμαπροέκυψε στο αρχικό στάδιο της φόρτωσης των Windows.

Τύποι απορρίψεων σφαλμάτων των Windows

Στο παράδειγμα της τρέχουσας λειτουργίας συστήματα Windows 10 (Windows Server 2016), ας δούμε τους κύριους τύπους αποθήκευσης μνήμης που μπορεί να δημιουργήσει το σύστημα:

  • Mini memory dump (Μικρή ένδειξη μνήμης)(256 KB). Αυτός ο τύπος αρχείου περιλαμβάνει έναν ελάχιστο όγκο πληροφοριών. Περιέχει μόνο το μήνυμα σφάλματος BSOD, πληροφορίες σχετικά με τα προγράμματα οδήγησης, τις διεργασίες που ήταν ενεργές τη στιγμή της συντριβής και ποια διεργασία ή νήμα πυρήνα προκάλεσε τη συντριβή.
  • Απόθεση μνήμης πυρήνα. Τυπικά μικρό, το ένα τρίτο της ποσότητας φυσικής μνήμης. Η ένδειξη μνήμης πυρήνα είναι πιο λεπτομερής από την minidump. Περιέχει πληροφορίες για προγράμματα οδήγησης και προγράμματα σε λειτουργία πυρήνα, περιλαμβάνει εκχωρημένη μνήμη Πυρήνας των Windowsκαι το επίπεδο αφαίρεσης υλικού (HAL), καθώς και τη μνήμη που εκχωρείται σε προγράμματα οδήγησης και άλλα προγράμματα σε λειτουργία πυρήνα.
  • Πλήρης αποθήκευση μνήμης. Το μεγαλύτερο σε μέγεθος και απαιτεί μνήμη ίση με τη μνήμη RAM του συστήματός σας συν 1 MB, απαιτούμενα Windowsγια να δημιουργήσετε αυτό το αρχείο.
  • Αυτόματη απόθεση μνήμης. Αντιστοιχεί σε μια ένδειξη μνήμης πυρήνα ως προς τις πληροφορίες. Διαφέρει μόνο στο πόσο χώρο χρησιμοποιεί για τη δημιουργία του αρχείου ένδειξης σφαλμάτων. Αυτός ο τύπος αρχείου δεν υπήρχε στα Windows 7. Προστέθηκε στα Windows 8.
  • Ενεργή μνήμη. Αυτός ο τύπος φιλτράρει στοιχεία που δεν μπορούν να προσδιορίσουν την αιτία μιας αποτυχίας συστήματος. Αυτό έχει προστεθεί στα Windows 10 και είναι ιδιαίτερα χρήσιμο αν χρησιμοποιείτε εικονική μηχανή, ή εάν το σύστημά σας είναι κεντρικός υπολογιστής Hyper-V.

Πώς να ενεργοποιήσετε τη δημιουργία ένδειξης σφαλμάτων μνήμης στα Windows;

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

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

Τώρα, εάν παρουσιαστεί BSOD, μπορείτε να αναλύσετε το αρχείο ένδειξης σφαλμάτων και να βρείτε την αιτία των αποτυχιών. Ένα minidump αποθηκεύεται από προεπιλογή στο φάκελο %systemroot%\minidump. Για να αναλύσετε το αρχείο ένδειξης σφαλμάτων, συνιστώ να χρησιμοποιήσετε το πρόγραμμα WinDBG(Microsoft Kernel Debugger).

Εγκατάσταση του WinDBG στα Windows

Χρησιμότητα WinDBGσυμπεριλαμβανεται σε " Windows 10 SDK» (Windows 10 SDK). .

Το αρχείο καλείται winsdksetup.exe, μέγεθος 1,3 MB.

Εκτελέστε την εγκατάσταση και επιλέξτε εάν θα εγκαταστήσετε το πακέτο σε αυτόν τον υπολογιστή ή θα το κατεβάσετε για εγκατάσταση σε άλλους υπολογιστές. Εγκαταστήστε το πακέτο στον τοπικό υπολογιστή.

Μπορείτε να εγκαταστήσετε ολόκληρο το πακέτο, αλλά για να εγκαταστήσετε μόνο το εργαλείο εντοπισμού σφαλμάτων επιλέξτε Εντοπισμός σφαλμάτων Εργαλεία για Windows.

Μόλις εγκατασταθούν, οι συντομεύσεις WinDBG μπορούν να βρεθούν στο μενού έναρξης.

Ρύθμιση της συσχέτισης των αρχείων .dmp με το WinDBG

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

  1. Άνοιξε γραμμή εντολώνως διαχειριστής και εκτέλεση εντολών για σύστημα 64-bit: cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    για σύστημα 32 bit:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. Ως αποτέλεσμα, οι τύποι αρχείων: .DMP, .HDMP, .MDMP, .KDMP, .WEW θα αντιστοιχιστούν στο WinDBG.

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

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

Ρυθμίστε το WinDBG για χρήση του Microsoft Symbol Server:

  • Ανοίξτε το WinDBG.
  • Μεταβείτε στο μενού αρχείο –> Διαδρομή αρχείου συμβόλων;
  • Γράψτε μια συμβολοσειρά που περιέχει τη διεύθυνση URL για τη λήψη συμβόλων εντοπισμού σφαλμάτων από τον ιστότοπο της Microsoft και το φάκελο για την αποθήκευση της προσωρινής μνήμης: SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols Στο παράδειγμα, γίνεται λήψη της προσωρινής μνήμης στον φάκελο E:\Sym_WinDBG, μπορείτε να καθορίσετε οποιοδήποτε.
  • Μην ξεχάσετε να αποθηκεύσετε τις αλλαγές στο μενού αρχείο–>Αποθήκευση χώρου εργασίας.

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

SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols;c:\Symbols

Εάν δεν υπάρχει σύνδεση στο Διαδίκτυο, κατεβάστε πρώτα το πακέτο συμβόλων από τον πόρο των Windows Symbol Packages.

Ανάλυση crash dump στο WinDBG

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

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

Το πιο σημαντικό πράγμα που πρέπει να προσέξετε είναι ο κωδικός σφάλματος, ο οποίος αναγράφεται πάντα δεκαεξαδική τιμήκαι μοιάζει με 0xXXXXXXXXX(υποδεικνύεται σε μία από τις επιλογές - STOP:, 07/02/2019 0008F, 0x8F). Στο παράδειγμά μας, ο κωδικός σφάλματος είναι 0x139.

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

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

Τα κύρια σημεία που πρέπει να προσέξεις κατά την ανάλυση μετά την εκτέλεση της εντολής !analyze -v (η καταχώριση δεν έχει ολοκληρωθεί).

1: kd> !αναλύω -v


* *
*Ανάλυση ελέγχου σφαλμάτων*
* *
*****************************************************************************
Συμβολικό όνομα του σφάλματος STOP (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Περιγραφή του σφάλματος (Ένα στοιχείο του πυρήνα έχει καταστρέψει μια κρίσιμη δομή δεδομένων. Αυτή η καταστροφή θα μπορούσε ενδεχομένως να επιτρέψει σε έναν εισβολέα να αναλάβει τον έλεγχο αυτού του μηχανήματος):

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

Επιχειρήματα:
Arg1: 0000000000000003, μια LIST_ENTRY έχει καταστραφεί (δηλαδή διπλή κατάργηση).
Arg2: ffffd0003a20d5d0, Διεύθυνση του πλαισίου παγίδας για την εξαίρεση που προκάλεσε τον έλεγχο σφαλμάτων
Arg3: ffffd0003a20d528, Διεύθυνση της εγγραφής εξαίρεσης για την εξαίρεση που προκάλεσε τον έλεγχο σφαλμάτων
Arg4: 0000000000000000, δεσμευμένο
Λεπτομέρειες εντοπισμού σφαλμάτων:
------------------

Ο μετρητής δείχνει πόσες φορές το σύστημα συνετρίβη με παρόμοιο σφάλμα:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

Κωδικός σφάλματος STOP σε συντομευμένη μορφή:

BUGCHECK_STR: 0x139

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

PROCESS_NAME: sqlservr.exe

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

ERROR_CODE: (NTSTATUS) 0xc0000409 - Το σύστημα εντόπισε υπέρβαση ενός buffer που βασίζεται σε στοίβα σε αυτήν την εφαρμογή. Αυτή η υπέρβαση θα μπορούσε ενδεχομένως να επιτρέψει σε έναν κακόβουλο χρήστη να αποκτήσει τον έλεγχο αυτής της εφαρμογής.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - Το σύστημα εντόπισε υπέρβαση ενός buffer που βασίζεται σε στοίβα σε αυτήν την εφαρμογή. Αυτή η υπέρβαση θα μπορούσε ενδεχομένως να επιτρέψει σε έναν κακόβουλο χρήστη να αποκτήσει τον έλεγχο αυτής της εφαρμογής.

Τελευταία κλήση στη στοίβα:

LAST_CONTROL_TRANSFER: από fffff8040117d6a9 σε fffff8040116b0a0

Στοίβα κλήσεων τη στιγμή της αποτυχίας:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`5KE8Bxeck!
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2KiBxpacktch!
fffd000`3a20d3f0 fffff804`0117c150: 00000000`00000000 00000000`00000000 00000000`000000000 0000000000000000000000 xd 0
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`0000006Ffff804`000006ffff804`000006Fffff804`000006ffffc 0
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951! ?? ::FNODOBFM::`string"+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac: 00000000`00000004 00000000`00000000
ffffd000`3a20d990 fffff804`0117d313: ffffffff`fffffffe 00000000`00000000 00000000`000000000 000000eb`a0cf1380!
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`000000000 000000000000000 0x13
000000ee`f25ed2b8 00000000`00000000:000000000`00000000 00000000`00000000 00000000`0000000:000000 307da

Η ενότητα του κώδικα όπου παρουσιάστηκε το σφάλμα:

FOLLOWUP_IP:
nt!KiFastFailDispatch+d0
fffff804`0117da50 c644242000 mov byte ptr ,0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt!KiFastFailDispatch+d0
FOLLOWUP_NAME: Ιδιοκτήτης μηχανήματος

Το όνομα της λειτουργικής μονάδας στον πίνακα αντικειμένων πυρήνα. Εάν ο αναλυτής μπόρεσε να εντοπίσει ένα προβληματικό πρόγραμμα οδήγησης, το όνομα εμφανίζεται στα πεδία MODULE_NAME και IMAGE_NAME:

MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

1: kd > lmvm nt
Περιηγηθείτε στην πλήρη λίστα λειτουργικών μονάδων
Φορτωμένο αρχείο εικόνας συμβόλων: ntkrnlmp.exe
Αρχείο εικόνας αντιστοιχισμένης μνήμης: C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Διαδρομή εικόνας: ntkrnlmp.exe
Όνομα εικόνας: ntkrnlmp.exe
Εσωτερικό Όνομα: ntkrnlmp.exe
Αρχικό όνομα αρχείου: ntkrnlmp.exe
Έκδοση προϊόντος: 6.3.9600.18946
Έκδοση αρχείου: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

Στο παραπάνω παράδειγμα, η ανάλυση έδειξε το αρχείο πυρήνα ntkrnlmp.exe. Όταν η ανάλυση ένδειξης σφαλμάτων μνήμης δείχνει ένα πρόγραμμα οδήγησης συστήματος (για παράδειγμα, win32k.sys) ή ένα αρχείο πυρήνα (για παράδειγμα, ntkrnlmp.exe στο παράδειγμά μας), είναι πολύ πιθανό δεδομένο αρχείοδεν είναι η αιτία του προβλήματος. Πολύ συχνά αποδεικνύεται ότι το πρόβλημα βρίσκεται στο πρόγραμμα οδήγησης της συσκευής, Ρυθμίσεις BIOSή δυσλειτουργία εξοπλισμού.

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

Για παράδειγμα:

Διαδρομή εικόνας: \SystemRoot\system32\drivers\cmudaxp.sys
Όνομα εικόνας: cmudaxp.sys

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