Enregistrement des informations de débogage pour Windows 10, quoi installer. Comment utiliser un vidage mémoire pour déterminer le pilote à l'origine du BSOD. Configuration d'un serveur de symboles de débogage dans WinDBG

Bonjour les amis, nous allons discuter aujourd'hui d'un sujet intéressant qui vous aidera à l'avenir lorsque écran bleu mort (BSoD).

Comme moi, de nombreux autres utilisateurs ont dû observer l'apparition d'un écran avec un fond bleu sur lequel quelque chose était écrit (blanc sur bleu). Ce phénomène indique un problème critique, comme dans logiciel, par exemple, un conflit de pilotes ou un dysfonctionnement physique d'un composant informatique.

J'ai récemment rencontré à nouveau un problème d'écran bleu dans Windows 10, mais je m'en suis rapidement débarrassé et je vous en parlerai bientôt.

Ainsi, la plupart des utilisateurs ne savent pas que BSoD peut être analysé pour comprendre ultérieurement les problèmes d’erreurs critiques. Pour un tel Cas de fenêtres crée des fichiers spéciaux sur le disque - nous les analyserons.

Il existe trois types de vidage mémoire :

Vidage mémoire complet– cette fonction vous permet de sauvegarder complètement le contenu mémoire vive. Il est rarement utilisé, car imaginez que vous disposez de 32 Go de RAM, avec un dump complet, tout ce volume sera stocké sur disque.

Vidage de base– enregistre les informations sur le mode noyau.

Petit vidage de mémoire– enregistre une petite quantité d'informations sur les erreurs et les composants chargés qui étaient présents au moment où le dysfonctionnement du système s'est produit. Nous utiliserons ce type de dump car il nous donnera suffisamment d'informations sur le BSoD.

L'emplacement du petit vidage et du vidage complet est différent. Par exemple, le petit vidage se trouve dans le chemin suivant : %systemroot%\minidump.

Le dump complet est ici : %systemroot%.

Pour analyser les dumps mémoire, il existe divers programmes, mais nous en utiliserons deux. Le premier est Microsoft Kernel Debuggers, comme son nom l'indique, un utilitaire de Microsoft. Vous pouvez le télécharger sur le site officiel. Le deuxième programme est BlueScreenView, un programme gratuit, téléchargeable ici.

Analyse d'un vidage de mémoire à l'aide des débogueurs du noyau Microsoft

Pour différentes versions de systèmes, vous devez télécharger un autre type d'utilitaire. Par exemple, pour 64 bits système opérateur, vous avez besoin d'un programme 64 bits, pour un programme 32 bits - une version 32 bits.

Ce n'est pas tout, vous devez télécharger et installer le package de symboles de débogage nécessaire au programme. C'est ce qu'on appelle les symboles de débogage. Chaque version de ce package est également téléchargée sous un système d'exploitation spécifique, découvrez d'abord de quel système vous disposez, puis téléchargez. Pour que vous n’ayez pas à chercher ces symboles nulle part, voici le lien de téléchargement. L'installation doit de préférence se faire dans ce chemin : %systemroot%\symbols.

Vous pouvez maintenant lancer notre débogueur dont la fenêtre ressemblera à ceci :

Avant d'analyser les dumps, nous allons configurer quelque chose dans l'utilitaire. Tout d’abord, nous devons indiquer au programme où nous avons installé les symboles de débogage. Pour ce faire, cliquez sur le bouton « Fichier » et sélectionnez l'élément « Chemin du fichier de symboles », puis indiquez le chemin d'accès aux symboles.


Le programme vous permet d'extraire des symboles directement du Web, vous n'avez donc même pas besoin de les télécharger (désolé pour ceux qui les ont déjà téléchargés). Ils seront extraits d’un serveur Microsoft, donc tout est sécurisé. Vous devez donc ouvrir à nouveau « Fichier », puis « Chemin du fichier de symboles » et entrer la commande suivante :

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


Ainsi, nous avons indiqué au programme que les symboles devaient être extraits du réseau. Une fois que nous avons fait cela, cliquez sur « Fichier » et sélectionnez « Enregistrer l'espace de travail », puis cliquez sur OK.

C'est tout. Nous avons configuré le programme de la bonne manière, nous commençons maintenant à analyser les vidages de mémoire. Dans le programme, appuyez sur le bouton "Déposer", Alors "Ouvrir le vidage sur incident" et sélectionnez le fichier souhaité.

Les débogueurs du noyau commenceront à analyser le fichier, puis afficheront un résultat sur la cause de l'erreur.


Dans la fenêtre qui apparaît, vous pouvez saisir des commandes. Si nous entrons !analyser –v, nous obtiendrons alors plus d'informations.

C'est tout avec ce programme. Pour arrêter le débogueur, sélectionnez "Debug" et l'élément "Arrêter le débogage".

Analyser un vidage de mémoire à l'aide de BlueScreenView

Le programme BlueScreenView convient également à l'analyse de diverses erreurs et BSoD, il possède une interface simple, il ne devrait donc y avoir aucun problème pour le maîtriser.

Téléchargez le programme à partir du lien ci-dessus et installez-le. Après avoir lancé l'utilitaire, vous devez le configurer. Allez dans les paramètres : « Paramètres » – « Options supplémentaires" Une petite fenêtre s'ouvrira avec quelques éléments. Dans le premier paragraphe, vous devez indiquer l'emplacement des dumps mémoire. Ils se trouvent généralement dans le chemin C:\WINDOWS\Minidump. Ensuite, cliquez simplement sur le bouton "Par défaut".


Que voit-on dans le programme ? Nous avons des éléments de menu, une partie de la fenêtre avec les noms des fichiers de vidage et la deuxième partie de la fenêtre - le contenu des vidages de mémoire.


Comme je l'ai dit au début de l'article, les dumps peuvent stocker les pilotes, la capture d'écran de « l'écran de la mort » lui-même et d'autres informations utiles qui peuvent nous être utiles.

Ainsi, dans la première partie de la fenêtre, où se trouvent les fichiers de dump, sélectionnez le dump mémoire dont nous avons besoin. Dans la partie suivante de la fenêtre, nous regardons le contenu. Les pilotes situés dans la pile mémoire sont marqués en rouge. Ils sont précisément la cause de l’écran bleu de la mort.

Sur Internet, vous pouvez tout trouver sur le code d'erreur et le pilote pouvant être à l'origine du BSoD. Pour ce faire, cliquez sur « Fichier », puis "Trouver le code d'erreur + le pilote dans Google".


Vous pouvez afficher uniquement les pilotes qui étaient présents au moment où l'erreur s'est produite. Pour ce faire, cliquez sur « Paramètres » – « Mode fenêtre inférieure » – « Uniquement les pilotes trouvés dans la pile de crash ». Ou appuyez sur la touche F7.

Pour afficher la capture d'écran BSoD, appuyez sur F8.

Pour afficher tous les pilotes et fichiers, appuyez sur F6.

Eh bien voilà tout. Vous savez maintenant comment vous renseigner sur le problème de l'écran bleu de la mort, et si quelque chose arrive, trouvez une solution sur Internet ou sur ce site. Vous pouvez proposer vos codes d'erreur et j'essaierai d'écrire pour chaque article pour résoudre le problème.

N'oubliez pas non plus de poser des questions dans les commentaires.

Je vais continuer à parler de l'écran bleu de la mort, dans lequel j'ai commencé.

Ainsi, si l'ordinateur redémarre ou se bloque soudainement et que l'écran bleu de la mort n'apparaît pas ou apparaît pendant une fraction de seconde, les informations sur les causes de l'échec peuvent toujours être restaurées.

Le fait est qu'au moment de la panne, le système d'exploitation enregistre le contenu de la RAM dans ce qu'on appelle fichier de vidage(a une extension .dmp). À l'avenir, le fichier de dump pourra être analysé et obtenir les mêmes informations que sur l'écran bleu et même un peu plus.

Mais la création de dumps peut être désactivée dans le système, vous devez donc vous assurer que, d'une part, le système crée des dumps lorsqu'il plante et, d'autre part, que vous devez connaître l'emplacement sur le disque où ils sont enregistrés.

Pour ce faire, vous devez vous rendre dans la section Système.

Sous Windows 10, cela peut être effectué via la recherche, et dans Versions précédentes système d’exploitation via le panneau de configuration.

Ici, l'enregistrement des événements dans le journal système doit être activé, mais pour empêcher l'ordinateur de redémarrer automatiquement et de nous montrer le contenu de l'écran bleu de la mort, vous devez annuler le redémarrage automatique s'il était activé.

Le chemin d'accès aux dumps est également affiché ici - nous voyons que le dump est enregistré dans le dossier %SystemRoot% - c'est la désignation du dossier Windows.

Vous pouvez également sélectionner ici « petit vidage de mémoire », ce qui sera largement suffisant pour rechercher des codes d'erreur.

Ainsi, le système s'est écrasé sur l'écran bleu de la mort, après quoi un vidage de mémoire a été créé.

Pour l'analyse des vidages, il existe programmes spéciaux et l'un des plus populaires est l'utilitaire BlueScreenView.

Le programme est très simple à utiliser et ne nécessite aucune installation - téléchargez-le depuis le site officiel et décompressez-le. Dans le même temps, depuis le site officiel, vous pouvez télécharger un fichier avec lequel vous pouvez russifier le programme. Pour ça ce fichier vous devrez le placer dans le dossier contenant le programme décompressé.

Si, après le lancement du programme, les dumps ne s'affichent pas, bien que le système tombe en panne sur l'écran bleu de la mort, vous devez alors accéder aux paramètres du programme et vous assurer que le chemin d'accès aux dumps mémoire est correctement spécifié, c'est-à-dire qu'il devrait être le même que dans les paramètres système.

Après cela, vous devez mettre à jour les informations dans la fenêtre du programme et toutes les sauvegardes créées dans le système seront affichées. S'il y a plusieurs dumps, alors on se concentre sur la date de l'échec. Sélectionnez le dump souhaité, puis il apparaîtra des informations détaillées dessus.

Ici, le nom de l'erreur est affiché, son code STOP avec paramètres, et si la cause était le conducteur, alors dans le champ correspondant nous trouverons son nom.

De plus, au bas de la fenêtre du programme, les fichiers susceptibles également de provoquer l'échec seront surlignés en rose. Nous devrons traiter chacun d'eux dans l'ordre. L'algorithme ici est similaire à celui évoqué dans l'article précédent : nous recherchons une solution sur Internet et utilisons le nom du fichier ou le code d'erreur comme clé de recherche.

Dans ce cas, il n’est pas nécessaire de saisir manuellement les données dans le moteur de recherche. Si vous faites un clic droit sur la ligne de vidage, alors à partir de menu contextuel Vous pouvez sélectionner un élément qui vous permettra de trouver une description de ce problème particulier dans Google.

Vous pouvez choisir de rechercher Google par code d'erreur, par code d'erreur et nom du pilote, ou par code d'erreur et paramètre.

De plus, en utilisant cet utilitaire, vous pouvez trouver rapidement l'emplacement du fichier problématique sur le disque.

Il arrive parfois que le fichier à l'origine du problème appartienne à un programme ou à un jeu. Par l'emplacement du fichier sur le disque, vous pouvez déterminer rapidement à quel programme ou jeu il appartient.

Eh bien, il convient de savoir que les nettoyeurs semblent supprimer les vidages de mémoire, donc si vous utilisez de tels programmes, vous devez vous abstenir de les utiliser tout en identifiant la cause de l'écran bleu de la mort.

Et la dernière question à laquelle je répondrai dans le cadre de cette note est que faire si après l'apparition de l'écran bleu l'ordinateur ne démarre plus ? Autrement dit, l'ordinateur se bloque ou est constamment surchargé, ce qui signifie qu'il n'y a aucun moyen d'analyser l'image mémoire.

La réponse est logique et simple : vous devez créer clé USB amorçable, avec lequel vous pouvez « extraire » le fichier dump de disque dur et analysez-le sur un autre ordinateur. Pour ce faire, démarrez depuis une clé USB et sur le disque dur de l'ordinateur dans le dossier les fenêtres ou dans un sous-dossier minidump Nous trouvons le fichier dump que nous copions sur le lecteur flash. Puis sur un autre ordinateur en utilisant l'utilitaire BlueScreenView Nous analysons le dump, comme décrit dans cette note.

Dans Windows 8, Microsoft a introduit un nouveau vidage de la mémoire : une option de vidage automatique de la mémoire. Ce paramètre est défini par défaut dans le système d'exploitation. Windows 10 a introduit un nouveau type de fichier de vidage : le vidage de la mémoire active. Pour ceux qui ne le savent pas, dans Windows 7, nous avons un petit dump, un core dump et un core dump complet. Vous vous demandez peut-être pourquoi Microsoft a décidé de créer ceci nouveau paramètre vidage de mémoire ? Selon Robert Simpkins, ingénieur support senior, un vidage automatique de la mémoire peut créer un support pour la page « système » dans le fichier de configuration.
Le système de gestion de la configuration du fichier d'échange est responsable de la gestion de la taille du fichier d'échange - cela évite une marge inutile ou une taille de fichier d'échange inutile. Cette option est introduite principalement pour les PC fonctionnant sur des disques SSD, qui ont tendance à être plus petits mais disposent d'une énorme quantité de RAM.

Options de vidage de la mémoire

Le principal avantage du « vidage automatique de la mémoire » est qu'il permettra à la session du sous-système dans le gestionnaire de processus de réduire automatiquement le fichier d'échange à une taille inférieure à la taille de la RAM. Pour ceux qui ne le savent pas, la session du gestionnaire de sous-système est responsable de l'initialisation du système, de l'environnement de démarrage des services et des processus requis pour que l'utilisateur se connecte au système. Il définit essentiellement la page des fichiers sur mémoire virtuelle et démarre le processus winlogon.exe.

Si vous souhaitez modifier vos paramètres de vidage automatique de la mémoire, voici comment procéder. Appuyez sur la touche Windows + X et sélectionnez - Système. Cliquez ensuite sur le bouton « Paramètres système avancés - Avance Système Paramètres”.

Cliquez sur le bouton Paramètres système avancés.

Ici, vous pouvez voir un menu déroulant où il est indiqué « Avancé ».

Ici, vous pouvez sélectionner l'option souhaitée. Options suggérées :

Pas de dump mémoire.
Petit vidage de mémoire.
Vidage de la mémoire du noyau.
Vidage mémoire complet.
Vidage automatique de la mémoire. Ajouté à Windows 8.
Vidage de mémoire actif. Ajouté à Windows 10.
L'emplacement du fichier d'image mémoire se trouve dans le fichier %SystemRoot%\MEMORY.DMP.

Si vous utilisez Disque SSD, alors il vaut mieux le laisser sur « Vidage automatique de la mémoire » ; mais si vous avez besoin d'un fichier de vidage sur incident, alors il est préférable de le définir sur « petit vidage de mémoire », avec lui, vous pouvez, si vous le souhaitez, l'envoyer à quelqu'un pour qu'il puisse y jeter un œil.

Dans certains cas, vous devrez peut-être augmenter la taille du fichier d'échange pour qu'elle soit supérieure à la RAM afin qu'il puisse s'adapter à un vidage mémoire complet. Dans de tels cas, vous devez créer une clé de registre :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

ça s'appelle "LastCrashTime".

Cela augmentera automatiquement la taille du fichier d'échange. Pour le réduire ultérieurement, vous pouvez simplement supprimer cette clé.

Dans Windows 10 introduit nouveau fichier dump vidage de la mémoire active. Il ne contient que l'essentiel et est donc de plus petite taille.

Je n'ai aucun moyen de le tester, mais j'ai créé cette clé et surveillé la taille du fichier d'échange. Je sais que tôt ou tard, j'obtiendrai une erreur critique. Ensuite, je vais le vérifier.

Vous pouvez analyser l'image mémoire des fichiers Windows.dmp à l'aide de WhoCrashed. WhoCrashed Home est un utilitaire gratuit qui fournit en un seul clic les pilotes installés sur votre ordinateur. Dans la plupart des cas, il peut identifier un pilote défectueux qui pose des problèmes à votre ordinateur. Il s'agit d'un vidage sur incident d'analyse du système, de vidages de mémoire et toutes les informations collectées sont présentées ici sous une forme accessible.

En règle générale, la boîte à outils de débogage ouvre un vidage sur incident d'analyse. Avec cet utilitaire, vous n'avez besoin d'aucune connaissance ni compétence en débogage pour découvrir quels pilotes causent des problèmes sur votre ordinateur.

WhoCrashed s'appuie sur un package de débogage (le programme Windbg) de Microsoft. Si ce package n'est pas installé, WhoCrashed téléchargera et extraira automatiquement ce package pour vous. Exécutez simplement le programme et cliquez sur le bouton Analyser. Lorsque WhoCrashed est installé sur votre système et s'il plante ou se ferme de manière inattendue, le programme vous indiquera si le vidage sur incident est activé sur votre ordinateur et vous proposera des suggestions sur la façon de les activer.

Cette courte note vise à montrer comment vous pouvez configurer le système afin d'obtenir une urgence Vidage de la mémoire Windows, c'est-à-dire un dump qui peut être créé en cas de panne critique, caractérisée par l'apparition d'un écran bleu de la mort (BSOD). Qu'est-ce qu'une décharge en général, pourquoi en avons-nous besoin et de quoi s'agit-il, quels problèmes est-elle destinée à résoudre et quelles informations contient-elle ?

Dump mémoire - le contenu de la mémoire de travail d'un processus, d'un noyau ou d'un système d'exploitation entier, y compris, en plus des zones de travail, Informations Complémentaires sur l'état des registres du processeur, le contenu de la pile et d'autres structures de service.

Pourquoi pourrions-nous avoir besoin de ce contenu, c'est-à-dire Vidage de la mémoire Windows? L'utilisation la plus courante d'un vidage de mémoire est peut-être d'étudier les causes d'une panne du système (), qui a provoqué l'arrêt complet du système d'exploitation. En plus de cela, l’état de la mémoire peut être utilisé à d’autres fins. Il est également important qu'un vidage de la mémoire soit littéralement Le seul moyen soyez informé de toute panne ! Et prendre (obtenir) un vidage de la mémoire système est, en fait, la seule méthode précise pour obtenir une empreinte instantanée (copie) du contenu de la mémoire physique du système.

Plus le contenu de la décharge reflète avec précision l'état de la mémoire au moment de la panne, plus nous pourrons analyser la situation d'urgence en détail. Par conséquent, il est extrêmement important d’obtenir une copie à jour de la mémoire physique du système à un moment strictement défini précédant immédiatement la panne. Et la seule façon d’y parvenir est de créer un vidage sur incident complet. La raison est assez triviale - lorsqu'un vidage sur incident de la mémoire système se produit, soit à la suite d'une panne, soit à la suite d'une situation artificiellement simulée, le système au moment où il prend le contrôle des fonctions d'urgence (KeBugCheckEx) est dans une situation état absolument inchangé (statique), par conséquent, entre le moment de la panne et le moment où les données sont écrites sur le support, rien ne change le contenu de la mémoire physique et elles sont écrites sur le disque dans son état d'origine. Eh bien, c'est en théorie, mais parfois dans la vie, mais il existe des situations où, en raison de composants matériels défectueux, l'image mémoire elle-même peut être endommagée ou la station peut se bloquer pendant l'enregistrement de l'image mémoire.

Dans la grande majorité des cas, à partir du moment où le processus de création d'un vidage mémoire en cas de crash commence jusqu'à la fin de l'écriture du contenu de la mémoire sur le disque, les informations en mémoire restent inchangées.

Théoriquement, la statique (immuabilité) de « l'empreinte » mémoire s'explique par le fait que lorsque la fonction KeBugCheckEx est appelée, qui affiche des informations sur l'échec et démarre le processus de création d'un vidage mémoire, le système est déjà complètement arrêté et le le contenu de la mémoire physique est écrit dans les blocs occupés sur le disque par le fichier d'échange, après quoi, lors du chargement ultérieur du système d'exploitation, il est réinitialisé dans un fichier sur le support système. Eh bien, presque une fois, j'ai observé une situation où un carte mère m'a empêché de sauvegarder un vidage mémoire : a) geler pendant l'exécution de la logique de sauvegarde du vidage (le processus n'a pas atteint 100 %), b) endommager le fichier de vidage mémoire (le débogueur s'est plaint des structures), c) écrire un vidage mémoire.dmp fichiers de longueur nulle. Par conséquent, malgré le fait que le système est déjà complètement arrêté au moment de la création de l'image mémoire et que seul le code d'urgence est en cours d'exécution, un matériel défectueux peut ajuster n'importe quelle logique sans exception à n'importe quelle étape du fonctionnement.
Traditionnellement, au stade initial, les blocs de disque alloués au fichier d'échange sont utilisés pour enregistrer un vidage de la mémoire Windows. Ensuite, après un écran bleu et un redémarrage, les données sont déplacées vers un fichier séparé, puis le fichier est renommé à l'aide d'un modèle en fonction du type de vidage. Cependant, à partir de Versions Windows Vista, cet état de fait peut être modifié : l'utilisateur a désormais la possibilité de sauvegarder le dump sélectionné sans la participation d'un fichier d'échange, en plaçant les informations sur l'échec dans un fichier temporaire. Cela a été fait afin d'éliminer les erreurs de configuration associées à des paramètres incorrects de taille et de position du fichier d'échange, qui entraînaient souvent des problèmes lors du processus de sauvegarde d'un vidage mémoire.
Voyons quels types de dumps le système d'exploitation Windows nous permet de créer :

  • Vidage de la mémoire du processus (application) ;
  • Vidage de la mémoire du noyau ;
  • Dump mémoire complet (vidage de la partie disponible de la mémoire physique du système).

Tous les vidages sur incident peuvent être divisés en deux catégories principales :

  • Dumps sur incident avec des informations sur l'exception survenue. Généralement créé en mode automatique, lorsqu'une exception non gérée se produit dans l'application/le noyau et, par conséquent, le débogueur système (intégré) peut être appelé. Dans ce cas, les informations sur l'exception sont enregistrées dans un dump, ce qui facilite la détermination du type d'exception et de l'endroit où elle s'est produite lors de l'analyse ultérieure.
  • Dumps sur incident sans informations d'exception. Généralement créé manuellement par l'utilisateur lorsqu'il est nécessaire de simplement créer un instantané d'un processus pour une analyse ultérieure. Cette analyse n'implique pas la détermination du type d'exception, puisqu'aucune exception ne s'est produite, mais une analyse d'un tout autre type, par exemple l'étude des structures de données d'un processus, etc.

Configuration du vidage de la mémoire du noyau

Vous devez être connecté sous administrateur compte pour effectuer les étapes décrites dans cette section.

Passons directement à la configuration des paramètres de vidage sur incident de Windows. Tout d’abord, nous devons accéder à la fenêtre des propriétés du système de l’une des manières suivantes :

  1. Faites un clic droit sur l'icône "Poste de travail" - "Propriétés" - "Paramètres système avancés" - "Avancé".
  2. Bouton "Démarrer" - "Panneau de configuration" - "Système" - "Paramètres système avancés" - "Avancé".
  3. Raccourci clavier "Windows" + "Pause" - "Paramètres système avancés" - "Avancé".

  4. système de contrôle.cpl,3
  5. Exécuter dans ligne de commande(cmd):
    PropriétésSystèmeAvancé

Le résultat des actions décrites est d'ouvrir la fenêtre « Propriétés système » et de sélectionner l'onglet « Avancé » :

Après cela, dans la section « Démarrage et récupération », nous cliquons, sélectionnons « Options » et ouvrons ainsi une nouvelle fenêtre appelée « Téléchargement et récupération » :

Tous les paramètres de vidage sur incident sont regroupés dans un bloc de paramètres appelé « Défaillance du système ». Dans ce bloc, nous pouvons définir les paramètres suivants :

  1. Écrivez les événements dans le journal système.
  2. Effectuez un redémarrage automatique.
  3. Enregistrement des informations de débogage.
  4. Fichier de vidage.
  5. Remplacez un fichier de vidage existant.

Comme vous pouvez le constater, la plupart des paramètres de la liste sont assez triviaux et faciles à comprendre. Cependant, je voudrais développer le paramètre "Dump File". Le paramètre est présenté sous forme de liste déroulante et a quatre valeurs possibles :

Petit vidage de mémoire

Un petit vidage mémoire (minidump) est un fichier qui contient la plus petite quantité d'informations sur l'échec. Le plus petit de tous les dumps de mémoire possibles. Malgré les inconvénients évidents, les minidumps sont souvent utilisés comme informations sur l'échec du transfert vers des fournisseurs de pilotes tiers pour une étude ultérieure.
Composé:

  • Message d'erreur.
  • Valeur d'erreur.
  • Paramètres d'erreur.
  • Contexte du processeur (PRCB) sur lequel la panne s'est produite.
  • Informations sur le processus et contexte du noyau (EPROCESS) pour le processus en panne et tous ses threads.
  • Informations sur le processus et contexte du noyau (ETHREAD) pour le thread à l'origine du crash.
  • La pile en mode noyau pour le thread qui a provoqué le crash.
  • Liste des pilotes chargés.

Hébergement: %SystemRoot%\Minidump\MMDDYY-XXXXX-NN.dmp. Où MMDDYY est respectivement le mois, le jour et l'année, NN est le numéro de série du dump.
Volume : La taille dépend du nombre de bits du système d'exploitation : seuls 128 kilo-octets sont requis pour un système d'exploitation 32 bits et 256 kilo-octets pour un système d'exploitation 64 bits dans le fichier d'échange (ou dans le fichier spécifié dans DedicatedDumpFile). Comme nous ne pouvons pas définir une taille aussi petite, nous l'arrondissons à 1 mégaoctet.

Vidage de la mémoire du noyau

Ce type de dump contient une copie de toute la mémoire du noyau au moment du crash.
Composé:

  • Liste des processus en cours d'exécution.
  • État du thread actuel.
  • Pages mémoire en mode noyau présentes dans la mémoire physique au moment du crash : mémoire du pilote en mode noyau et mémoire du programme en mode noyau.
  • Mémoire de niveau dépendant du matériel (HAL).
  • Liste des pilotes chargés.

Le vidage de la mémoire du noyau ne contient pas de pages de mémoire non allouée ni de pages de mode utilisateur. D'accord, il est peu probable que les pages de processus en mode utilisateur nous intéressent lors d'une panne système (BugCheck), car la panne système est généralement initiée par le code du mode noyau.

Taille : varie en fonction de la taille de l'espace d'adressage du noyau alloué par le système d'exploitation et du nombre de pilotes en mode noyau. En règle générale, environ un tiers de la mémoire physique est requis dans le fichier d'échange (ou dans le fichier spécifié dans DedicatedDumpFile). Peut varier.

Vidage mémoire complet

Un vidage de mémoire complète contient une copie de toute la mémoire physique (RAM) au moment du crash. En conséquence, tout le contenu de la mémoire système est inclus dans le fichier. C’est à la fois un avantage et un inconvénient majeur, puisque sa taille peut être importante sur certains serveurs disposant de grandes quantités de RAM.
Composé:

  • Toutes les pages de mémoire physique « visible ». Il s'agit de la quasi-totalité de la mémoire système, à l'exception des zones utilisées par le matériel : BIOS, espace PCI, etc.
  • Données des processus en cours d'exécution sur le système au moment de la panne.
  • Pages de mémoire physique qui ne sont pas mappées à l'espace d'adressage virtuel, mais qui peuvent aider à rechercher la cause de l'échec.

Par défaut, un vidage mémoire complet n'inclut pas les zones de mémoire physique utilisées par le BIOS.
Emplacement : %SystemRoot%\MEMORY.DMP . Le dump précédent est écrasé.
Volume : Le fichier d'échange (ou le fichier spécifié dans DedicatedDumpFile) nécessite un volume égal à la taille de la mémoire physique + 257 Mo (ces 257 Mo sont divisés en un certain en-tête + données du pilote). En fait, dans certains systèmes d'exploitation, le seuil inférieur du fichier d'échange peut être défini exactement sur la valeur de la taille de la mémoire physique.

Vidage automatique de la mémoire

À partir de Windows 8/Windows Server 2012, un nouveau type de vidage a été introduit dans le système appelé vidage automatique de la mémoire, qui est défini comme type par défaut. Dans ce cas, le système décide lui-même quel vidage de mémoire enregistrer en cas de panne particulière. De plus, la logique de choix dépend de nombreux critères, dont la fréquence des « crashs » du système d’exploitation.

Après avoir modifié la configuration de l'image mémoire de Windows, vous devrez peut-être redémarrer votre ordinateur.

Paramètres du registre

La section du registre qui définit les paramètres de vidage sur incident :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

Possibilités :

Paramètre Taper Description
Réinitialisation automatique REG_DWORD Activer/désactiver le redémarrage automatique lorsque BSOD se produit.
CrashDumpActivé REG_DWORD Type de dump en cours de création.
  • 0 - ne crée pas de vidage mémoire ;
  • 1 - vidage mémoire complet ;
  • 2 - vidage de la mémoire du noyau ;
  • 3 - petit vidage de mémoire ;
Fichier de vidage REG_EXPAND_SZ Chemin et nom du vidage de la mémoire du noyau et du vidage de la mémoire complète.
Filtres de décharge REG_MULTI_SZ Filtre de pilote dans la pile de pilotes de vidage de mémoire. Vous permet d'ajouter de nouvelles fonctionnalités au stade de la création de vidages sur incident. Par exemple, chiffrer le contenu du dump. Il n'est pas recommandé de modifier la valeur.
Journal d'événement REG_DWORD Enregistrement d'un événement dans le journal système.
MinidumpDir REG_EZPAND_SZ Chemin et nom du petit vidage mémoire.
Nombre de minidumps REG_DWORD Nombre maximum de petits vidages de mémoire. En cas de dépassement, les anciennes versions commencent à être écrasées.
Écraser REG_DWORD Remplacez un fichier de vidage existant. Uniquement pour le vidage de la mémoire du noyau et le vidage de la mémoire complète.
IgnorerPagefileSize REG_DWORD Ignore le fichier d'échange standard comme emplacement de stockage de vidage de mémoire temporaire (intermédiaire). Indique que l'image mémoire doit être écrite dans un fichier séparé. Utilisé conjointement avec l’option DedicatedDumpFile.
Fichier de décharge dédié REG_EZPAND_SZ Chemin et nom d'un fichier alternatif temporaire pour enregistrer un vidage mémoire. Lors du deuxième passage, les données seront toujours déplacées vers DumpFile/MinidumpDir.

Créer manuellement un vidage mémoire

Ci-dessus, nous avons décrit les paramètres permettant de créer automatiquement des vidages sur incident du système en cas d'erreur critique, c'est-à-dire une exception non gérée dans le code du noyau. Mais en vrai vie, en plus du crash du système d'exploitation, il existe des situations où il est nécessaire d'obtenir un vidage de la mémoire système à un moment précis. Comment être dans ce cas ? Il existe des méthodes pour obtenir un instantané de toute la mémoire physique, par exemple en utilisant la commande .dump dans les débogueurs WinDbg/LiveKD. LiveKD est un programme qui vous permet d'exécuter le débogueur du noyau Kd sur un système en cours d'exécution en mode local. Le débogueur WinDbg possède également une fonctionnalité similaire. Cependant, la méthode de vidage à la volée n'est pas précise car le vidage généré dans ce cas est "incohérent" car il faut du temps pour générer le vidage, et en cas d'utilisation du débogueur en mode noyau, le système continue de s'exécuter et de créer modifications apportées aux pages mémoire.

Tous les systèmes Windows, lorsqu'une erreur fatale est détectée, effectuent un vidage sur incident (instantané) du contenu de la RAM et l'enregistrent sur Disque dur. Il existe trois types de vidage mémoire :

Dump mémoire complète – enregistre l’intégralité du contenu de la RAM. La taille de l'image est égale à la taille de la RAM + 1 Mo (en-tête). Très rarement utilisé, car sur les systèmes dotés de grandes quantités de mémoire, la taille du dump sera trop grande.

Vidage de la mémoire du noyau – enregistre les informations RAM liées au mode noyau uniquement. Les informations du mode utilisateur ne sont pas enregistrées car elles ne contiennent pas d'informations sur la cause de la panne du système. La taille du fichier de vidage dépend de la taille de la RAM et varie de 50 Mo (pour les systèmes dotés de 128 Mo de RAM) à 800 Mo (pour les systèmes dotés de 8 Go de RAM).

Petit vidage mémoire (mini dump) - contient une assez petite quantité d'informations : un code d'erreur avec des paramètres, une liste des pilotes chargés dans la RAM au moment du crash du système, etc., mais ces informations sont suffisantes pour identifier le pilote défectueux . Un autre avantage de ce type de dump est la petite taille du fichier.

Installation du système

Pour identifier le pilote qui l'a provoqué, il nous suffira d'utiliser un petit vidage mémoire. Pour que le système enregistre un mini dump lors d'un crash, vous devez effectuer les étapes suivantes :

Pour Windows XP Pour Windows 7
  1. Mon ordinateur Propriétés
  2. Allez dans l'onglet En plus;
  3. Options ;
  4. Sur le terrain Écriture des informations de débogage choisir Petit vidage de mémoire (64 Ko).
  1. Faites un clic droit sur l'icône Ordinateur dans le menu contextuel, sélectionnez Propriétés(ou la combinaison de touches Win+Pause) ;
  2. Dans le menu de gauche, cliquez sur l'élément Réglages avancés du système;
  3. Allez dans l'onglet En plus;
  4. Dans le champ Téléchargement et récupération, vous devez cliquer sur le bouton Options ;
  5. Sur le terrain Écriture des informations de débogage choisir Petit vidage de mémoire (128 Ko).

Après avoir effectué toutes les manipulations, après chaque BSoD, un fichier avec l'extension .dmp sera enregistré dans le dossier C:\WINDOWS\Minidump. Je vous conseille de lire le matériel "". Vous pouvez également cocher la case « Remplacer le fichier de vidage existant" Dans ce cas, chaque nouveau vidage sur incident sera écrit sur l'ancien. Je ne recommande pas d'activer cette option.

Analyser un vidage sur incident à l'aide de BlueScreenView

Ainsi, après l'apparition de l'écran bleu de la mort, le système a enregistré un nouveau vidage de la mémoire de crash. Pour analyser le dump, je recommande d'utiliser le programme BlueScreenView. Il peut être téléchargé gratuitement. Le programme est assez pratique et possède une interface intuitive. Après l'avoir installé, la première chose à faire est de spécifier l'emplacement de stockage des images mémoire sur le système. Pour ce faire, allez dans l'élément de menu " Possibilités» et sélectionnez « AvancéPossibilités" Sélectionnez le bouton radio « ChargerdepuislesuivantMini-déchargedossier» et précisez le dossier dans lequel les dumps sont stockés. Si les fichiers sont stockés dans le dossier C:\WINDOWS\Minidump, vous pouvez cliquer sur le bouton « Défaut" Cliquez sur OK et accédez à l'interface du programme.

Le programme se compose de trois blocs principaux :

  1. Bloc de menu principal et panneau de commande ;
  2. Blocage de la liste de vidage sur incident ;
  3. Selon les paramètres sélectionnés, il peut contenir :
  • une liste de tous les pilotes en RAM avant que l'écran bleu n'apparaisse (par défaut) ;
  • une liste de pilotes situés dans la pile RAM ;
  • Capture d'écran BSoD ;
  • et d'autres valeurs que nous n'utiliserons pas.

Dans le bloc de liste de vidage mémoire (marqué du numéro 2 sur la figure), sélectionnez le vidage qui nous intéresse et regardez la liste des pilotes chargés dans la RAM (marqués du numéro 3 sur la figure). Les pilotes qui se trouvaient sur la pile mémoire sont de couleur rose. Ils sont la cause du BSoD. Ensuite, accédez au menu principal du pilote, déterminez à quel périphérique ou programme il appartient. Tout d'abord, faites attention à fichiers système, car les fichiers système sont de toute façon chargés dans la RAM. Il est facile de voir que le pilote défectueux dans l'image est myfault.sys. Je dirai que ce programme a été spécifiquement lancé pour provoquer une erreur Stop. Après avoir identifié le pilote défectueux, vous devez soit le mettre à jour, soit le supprimer du système.

Pour que le programme affiche une liste des pilotes situés sur la pile mémoire lorsqu'un BSoD se produit, vous devez accéder à l'élément de menu « Possibilités"cliquez sur le menu" InférieurVitreMode» et sélectionnez « SeulementConducteursTrouvéDansEmpiler" (ou appuyez sur la touche F7), et pour afficher une capture d'écran de l'erreur, sélectionnez " BleuÉcrandansXPStyle» (F8). Pour revenir à la liste de tous les chauffeurs, vous devez sélectionner « TousConducteurs» (F6).




Haut