Installation des outils de débogage pour Windows. Outils de débogage Windows : diagnostic et correction des BSOD Configuration d'un serveur de symboles de débogage dans WinDBG

le 22 juin 2010

Auparavant, Windbg était disponible séparément en téléchargement. Mais pour les dernières versions, Microsoft les conserve dans le cadre du SDK Windows. Veuillez trouver les liens de téléchargement ci-dessous.

Windows 10

La dernière version de Windbg pour Windows 7 peut être téléchargée à partir du lien https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk

Windows 7

Téléchargez les programmes d'installation à partir des liens ci-dessus. Notez que cela ne télécharge pas l’intégralité du SDK, c’est juste un programme d’installation. Une fois que vous avez exécuté le fichier, vous pouvez sélectionner les outils que vous souhaitez télécharger. Si vous n'êtes intéressé que par Windbg, vous pouvez exclure tout le reste et sélectionner uniquement « Outils de débogage » sous « Utilitaires communs ».

Le package ci-dessus installe la version Windbg 6.12. Si vous souhaitez installer rapidement Windbg, vous pouvez opter pour une ancienne version (6.11) qui peut être téléchargée depuis
le lien donné à la fin de cet article.

Une fois l'installation effectuée, vous pouvez trouver le programme dans le menu Démarrer -> Tous les programmes -> Outils de débogage pour Windows -> Windbg.

Présentation de WinDBG - Partie 1

Alexandre Antipov

WinDBG est un excellent débogueur. Il n'a peut-être pas une interface très conviviale et n'a pas de fond noir par défaut, mais il s'agit actuellement de l'un des débogueurs les plus puissants et les plus stables sur le système d'exploitation Windows. Dans cet article, je vais vous présenter les bases de WinDBG afin que vous puissiez démarrer avec.


WinDBG est un excellent débogueur. Il n'a peut-être pas une interface très conviviale et n'a pas de fond noir par défaut, mais il s'agit actuellement de l'un des débogueurs les plus puissants et les plus stables sur le système d'exploitation Windows. Dans cet article, je vais vous présenter les bases de WinDBG afin que vous puissiez démarrer avec.

Ceci est le premier article d'une série dédiée à WinDBG. Liste de tous les articles inclus dans cette série :

  • Partie 1 – installation, interface, symboles, débogage distant/local, système d'aide, modules, registres.
  • Partie 2 – points d'arrêt.
  • Partie 3 – inspection de la mémoire, débogage du programme étape par étape, trucs et astuces.

Dans cet article, nous examinerons l'installation et l'attachement à un processus, et dans les articles suivants, nous examinerons les points d'arrêt, le débogage étape par étape et l'inspection de la mémoire.

Installation de WinDBG

Par rapport à Windows 7, le processus d'installation de WinDBG dans Windows 8 a subi des modifications mineures. Dans cette section, nous examinerons l'installation du débogueur pour les deux systèmes d'exploitation.

Installation de WinDBG sur Windows 8

Sous Windows 8, WinDBG est inclus dans le kit de pilotes Windows (WDK). Vous pouvez installer Visual Studio et WDK, ou installer séparément le package Outils de débogage pour Windows 8.1, qui inclut WinDBG.

Le programme d'installation vous demandera si vous souhaitez installer WinDBG localement ou télécharger l'intégralité du package de développement pour un autre ordinateur. Ce dernier est essentiellement l’équivalent d’un installateur autonome, ce qui est très pratique si vous souhaitez installer le package sur d’autres systèmes à l’avenir.

Figure 1 : Sélection du type d'installation

Dans la fenêtre suivante, vous devez décocher tous les éléments sauf « Outils de débogage pour Windows » et cliquer sur le bouton « Télécharger ».

Une fois que le programme d'installation a terminé son travail, accédez au répertoire où le package a été téléchargé (par défaut c:\Users\Username\Downloads\Windows Kits\8.1\StandaloneSDK) et suivez la procédure d'installation.

Installation de WinDBG sur Windows 7 et versions antérieures

Pour Windows 7 et versions antérieures, WinDBG fait partie du package « Outils de débogage pour Windows » inclus avec le SDK Windows et .Net Framework. Vous devrez télécharger le programme d'installation, puis sélectionner « Outils de débogage pour Windows » pendant le processus d'installation.

Lors de l'installation, je sélectionne l'option « Outils de débogage » sous « Packages redistribuables » pour créer un programme d'installation autonome afin de faciliter les installations futures.

Figure 2 : Sélection des options d'installation pour créer un programme d'installation autonome

Une fois l'installation terminée, vous devriez disposer d'installateurs WinDBG pour différentes plates-formes (dans le répertoire c:\Program Files\Microsoft SDKs\Windows\v7.1\Redist\Debugging Tools for Windows\).

Figure 3 : Dossier contenant les installateurs WinDBG pour différentes plates-formes

Interface WinDBG

Figure 4 : apparence de WinDBG

Dès que vous verrez pour la première fois l’apparition de WinDGB, vous réaliserez que le débogueur est d’une simplicité effrayante. La plupart des fonctions WinDBG sont apprises lors du débogage du processus. Au lieu de passer du temps à décrire l’interface, dans les sections suivantes, nous n’aborderons que les points les plus importants.

La chose la plus élémentaire que vous devez savoir sur l’interface du débogueur est la fenêtre de commande, qui se compose de deux zones. Première zone : une fenêtre où est affiché le résultat de l'exécution de la commande. Deuxième zone : un petit champ de texte pour saisir des commandes.

Figure 5 : Fenêtre de commande WinDBG

Symboles

Dans la plupart des cas, WinDBG ne nécessite aucun paramètre particulier et fonctionne correctement dès la sortie de la boîte. Mais une chose importante qui doit être configurée, ce sont les personnages. Les symboles sont des fichiers générés avec le fichier exécutable lors de la compilation d'un programme et contenant des informations de débogage (fonctions et noms de variables). Les informations de débogage vous permettent d'examiner les fonctionnalités d'une application lors du débogage ou du désassemblage. De nombreux composants Microsoft sont compilés avec des symboles distribués via Microsoft Symbol Server. Avec le reste des fichiers exécutables, tout n'est pas si rose - très rarement des fichiers contenant des informations de débogage sont inclus avec l'application. Dans la plupart des cas, les entreprises restreignent l'accès à ces informations.

Pour configurer WinDBG pour utiliser Microsoft Symbol Server, accédez à File:Symbol File Path et définissez le chemin sur SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols. Bien sûr, il est un peu étrange que des astérisques soient utilisés comme séparateur. Après avoir configuré Microsoft Symbol Server, les symboles seront téléchargés dans le dossier C:\Symbols.

Figure 6 : Configuration de Microsoft Symbol Server

WinDBG chargera automatiquement les symboles pour les fichiers binaires en cas de besoin. Vous pouvez également ajouter votre propre dossier de symboles, comme ceci :

SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols;c:\SomeOtherSymbolFolder

Ajout de symboles lors du débogage

Si vous devez importer des symboles lors du débogage, vous pouvez le faire en utilisant .sympath (une fenêtre de commande apparaîtra lorsque vous vous connecterez au processus). Par exemple, pour ajouter le dossier c:\SomeOtherSymbolFolder, saisissez la commande suivante :

0:025> .sympath+ c:\SomeOtherSymbolFolder
Le chemin de recherche des symboles est : SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols;c:\SomeOtherSymbolFolder
Le chemin de recherche de symboles étendu est : srv*c:\symbols*http://msdl.microsoft.com/download/symbols;c:\someothersymbolfolder

C'est une bonne idée de recharger les symboles après avoir ajouté ou modifié des chemins :

0:025> .recharger
Rechargement des modules actuels
................................................................
...............................................

Vérification des symboles chargés

Pour voir quels modules ont des symboles chargés, vous pouvez utiliser la commande x*!. Bien que WinDBG ne charge les symboles que si nécessaire, le x*! affichera les symboles qui peuvent être chargés. Vous pouvez forcer le chargement des symboles à l'aide de la commande ld * (cela peut prendre un certain temps et vous pouvez arrêter le processus en allant dans Debug:Break).

Nous pouvons maintenant voir les symboles de chaque module.

Figure 8 : Liste des symboles

Débogage d'un processus local

Lors du débogage d'un processus local, vous disposez de deux options :

  1. Accrochez-vous à un processus déjà en cours d’exécution.
  2. Démarrez le processus via WinDBG.

Chaque méthode a ses propres avantages et inconvénients. Si, par exemple, vous exécutez un programme via WinDBG, vous avez accès à certaines options de débogage spéciales (par exemple, le débogage du tas) qui peuvent provoquer le blocage de l'application. D'un autre côté, il existe également des programmes qui plantent lorsque vous leur attachez un débogueur. Certaines applications (en particulier les logiciels malveillants) vérifient la présence d'un débogueur dans le système au démarrage et, par conséquent, dans ce cas, il est logique de s'accrocher à un processus déjà en cours d'exécution. Parfois, vous déboguez un service Windows qui définit certains paramètres au démarrage. Par conséquent, pour simplifier le processus de débogage, il est également préférable de se connecter à un processus en cours plutôt que d'exécuter le service via un débogueur. Certaines personnes prétendent que l'exécution d'un processus via un débogueur a un impact sérieux sur les performances. Bref, essayez les deux et choisissez ce qui vous convient le mieux. Si pour une raison quelconque vous préférez une méthode particulière, partagez vos impressions dans les commentaires !

Démarrage du processus

Si vous déboguez une application autonome qui s'exécute localement et ne communique pas avec le réseau, vous souhaiterez peut-être l'exécuter via WinDBG. Cependant, cela ne signifie pas que vous ne pouvez pas vous connecter à un processus déjà en cours d’exécution. Choisissez la méthode qui vous convient le mieux.

Démarrer le processus n’est pas difficile. Allez dans "Fichier : Ouvrir l'exécutable" et sélectionnez le fichier exécutable que vous souhaitez déboguer. Vous pouvez également spécifier des arguments ou définir le répertoire de départ :

Figure 9 : Sélection d'un exécutable pour le débogage

Connexion au processus

La connexion à un processus déjà en cours d’exécution n’est pas non plus difficile. Cependant, sachez que dans certains cas, la recherche du processus exact que vous souhaitez déboguer peut prendre du temps. Par exemple, certains navigateurs créent un processus parent, puis plusieurs autres processus pour chaque onglet. Ainsi, en fonction du vidage sur incident que vous déboguez, vous souhaiterez peut-être vous connecter au processus associé à l'onglet plutôt qu'au processus parent.

Pour vous attacher à un processus déjà en cours d'exécution, accédez à « Fichier : Attacher à un processus », puis sélectionnez le PID ou le nom du processus. N'oubliez pas que vous devez disposer des droits appropriés pour rejoindre le processus.

Figure 10 : Sélection du processus auquel se connecter

Si après connexion, l'application met son fonctionnement en pause, vous pouvez utiliser le mode « Noninvaise » en cochant la case appropriée.

Débogage d'un processus distant

Vous devrez parfois déboguer un processus sur un système distant. Il serait beaucoup plus pratique de résoudre ce problème en utilisant un débogueur local plutôt qu'en utilisant une machine virtuelle ou RDP. Ou peut-être êtes-vous en train de déboguer le processus LoginUI.exe, qui n'est accessible que lorsque le système est verrouillé. Dans de telles situations, vous pouvez utiliser une version locale de WinDBG et vous connecter aux processus à distance. Il existe deux manières les plus courantes de résoudre ces problèmes.

Sessions de débogage existantes

Si vous avez déjà commencé à déboguer un programme localement (en vous connectant ou en exécutant un processus via WinDBG), vous pouvez entrer une commande spécifique et WinDBG lancera un « écouteur » auquel le débogueur distant pourra se connecter. Pour ce faire, utilisez la commande .server :

Serveur TCP : port = 5005

Après avoir exécuté la commande ci-dessus, vous pouvez voir un avertissement comme celui-ci :

Figure 11 : Message d'avertissement pouvant apparaître après l'exécution de la commande de création d'un écouteur

WinDBG signalera alors que le serveur est en cours d'exécution :

0:005> .server tcp:port=5005
0: -tcp distant : Port = 5005, Serveur = UTILISATEUR-PC

Vous pouvez maintenant vous connecter depuis un hôte distant à une session de débogage existante en accédant à « Fichier : Se connecter à une session distante » et en entrant quelque chose comme ce qui suit dans le champ de texte : tcp:Port=5005,Server=192.168.127.138

Figure 12 : Connexion à distance à une session de débogage

Une fois connecté, vous recevrez une confirmation sur le client distant :


Le serveur a démarré. Le client peut se connecter avec n'importe laquelle de ces lignes de commande
0: -tcp distant : Port = 5005, Serveur = UTILISATEUR-PC
MACHINENAME\User (tcp 192.168.127.138:13334) connecté le lundi 16 décembre 09:03:03 2013

et le message dans la version locale du débogueur :

MACHINENAME\User (tcp 192.168.127.138:13334) connecté le lundi 16 décembre 09:03:03 2013

Création d'un serveur distant

Vous pouvez également créer un serveur séparé avec WinDBG, vous y connecter à distance et sélectionner un processus à déboguer. Cela peut être fait en utilisant le fichier dbgsrv.exe dans lequel vous envisagez de déboguer les processus. Pour démarrer un tel serveur, exécutez la commande suivante :

dbgsrv.exe -t tcp:port=5005

Figure 13 : Démarrage d'un serveur distant

Encore une fois, vous pouvez recevoir un avertissement de sécurité que vous devez accepter :

Figure 14 : Message de sécurité pouvant apparaître lors du démarrage du serveur de débogage

Vous pouvez vous connecter au serveur de débogage en accédant à Fichier : Se connecter au stub distant et en saisissant la ligne suivante dans le champ de texte : TCP : Port = 5005, Serveur = 192.168.127.138

Figure 15 : Connexion au serveur de débogage

Une fois connecté, vous ne recevrez aucun signal indiquant que vous êtes connecté, mais si vous allez dans « Fichier : Attacher à un processus », vous verrez une liste des processus du serveur de débogage (où dbgsrv.exe est en cours d'exécution). Vous pouvez désormais vous connecter au processus comme si vous le faisiez localement.

Système d'aide

Le système d'aide de WinDBG est génial. En plus d'apprendre quelque chose de nouveau, vous devriez pouvoir obtenir des informations générales sur une commande. Utilisez la commande .hh pour accéder à l'aide de WinDBG :

Vous pouvez également obtenir des informations d'aide pour une commande spécifique. Par exemple, pour obtenir de l'aide sur la commande .reload, utilisez la commande suivante :

ventbg> .hh .reload

Ou allez simplement dans la section Aide : Contenu.

Modules

Pendant l'exécution du programme, divers modules sont importés pour fournir les fonctionnalités de l'application. Par conséquent, si vous savez quels modules sont importés par l’application, vous pourrez mieux comprendre son fonctionnement. Dans de nombreux cas, vous déboguerez le module spécifique chargé par le programme, plutôt que le fichier exécutable lui-même.

Une fois connecté au processus, WinDBG affichera automatiquement les modules chargés. Par exemple, voici les modules après ma connexion à calc.exe :

Débogueur Microsoft (R) Windows version 6.12.0002.633 X86
Droit d'auteur (c) Microsoft Corporation. Tous droits réservés.

*** attendre avec pièce jointe en attente
Le chemin de recherche des symboles est : SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
Le chemin de recherche exécutable est :
ModLoad : 00a70000 00b30000 C:\Windows\system32\calc.exe
ModLoad : 77630000 7776c000 C:\Windows\SYSTEM32\ntdll.dll
ModLoad : 77550000 77624000 C:\Windows\system32\kernel32.dll
ModLoad : 75920000 7596a000 C:\Windows\system32\KERNELBASE.dll
ModLoad : 76410000 77059000 C:\Windows\system32\SHELL32.dll
ModLoad : 77240000 772ec000 C:\Windows\system32\msvcrt.dll
ModLoad : 76300000 76357000 C:\Windows\system32\SHLWAPI.dll
ModLoad : 75cd0000 75d1e000 C:\Windows\system32\GDI32.dll
ModLoad : 75fa0000 76069000 C:\Windows\system32\USER32.dll
ModLoad : 777b0000 777ba000 C:\Windows\system32\LPK.dll
ModLoad : 774b0000 7754d000 C:\Windows\system32\USP10.dll
ModLoad : 73110000 732a0000 C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_
6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\gdiplus.dll
ModLoad : 75a80000 75bdc000 C:\Windows\system32\ole32.dll
ModLoad : 76360000 76401000 C:\Windows\system32\RPCRT4.dll
ModLoad : 777c0000 77860000 C:\Windows\system32\ADVAPI32.dll
ModLoad : 75be0000 75bf9000 C:\Windows\SYSTEM32\sechost.dll
ModLoad : 76270000 762ff000 C:\Windows\system32\OLEAUT32.dll
ModLoad : 74590000 745d0000 C:\Windows\system32\UxTheme.dll
ModLoad : 74710000 748ae000 C:\Windows\WinSxS\x86_microsoft.windows.common-
ModLoad : 703d0000 70402000 C:\Windows\system32\WINMM.dll
ModLoad : 74c80000 74c89000 C:\Windows\system32\VERSION.dll
ModLoad : 77770000 7778f000 C:\Windows\system32\IMM32.DLL
ModLoad : 75c00000 75ccc000 C:\Windows\system32\MSCTF.dll
ModLoad : 74130000 7422b000 C:\Windows\system32\WindowsCodecs.dll
ModLoad : 74260000 74273000 C:\Windows\system32\dwmapi.dll
ModLoad : 756d0000 756dc000 C:\Windows\system32\CRYPTBASE.dll
ModLoad : 75e60000 75ee3000 C:\Windows\system32\CLBCatQ.DLL
ModLoad : 6ef10000 6ef4c000 C:\Windows\system32\oleacc.dll

Plus tard dans le processus de débogage, vous pourrez à nouveau afficher cette liste à l'aide de la commande lmf :

0:005>lmf
début fin nom du module
00a70000 00b30000 calc C:\Windows\system32\calc.exe
6ef10000 6ef4c000 oleacc C:\Windows\system32\oleacc.dll
703d0000 70402000 WINMM C:\Windows\system32\WINMM.dll
73110000 732a0000 gdiplus C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_
1.1.7600.16385_none_72fc7cbf861225ca\gdiplus.dll
74130000 7422b000 WindowsCodecs C:\Windows\system32\WindowsCodecs.dll
74260000 74273000 dwmapi C:\Windows\system32\dwmapi.dll
74590000 745d0000 UxTheme C:\Windows\system32\UxTheme.dll
74710000 748ae000 COMCTL32 C:\Windows\WinSxS\x86_microsoft.windows.common-
contrôles_6595b64144ccf1df_6.0.7600.16385_none_421189da2b7fabfc\COMCTL32.dll
74c80000 74c89000 VERSION C:\Windows\system32\VERSION.dll
756d0000 756dc000 CRYPTBASE C:\Windows\system32\CRYPTBASE.dll
75920000 7596a000 KERNELBASE C:\Windows\system32\KERNELBASE.dll
75a80000 75bdc000 ole32 C:\Windows\system32\ole32.dll
75be0000 75bf9000 sechost C:\Windows\SYSTEM32\sechost.dll
75c00000 75ccc000 MSCTF C:\Windows\system32\MSCTF.dll
75cd0000 75d1e000 GDI32 C:\Windows\system32\GDI32.dll
75e60000 75ee3000 CLBCatQ C:\Windows\system32\CLBCatQ.DLL
75fa0000 76069000 USER32 C:\Windows\system32\USER32.dll
76270000 762ff000 OLEAUT32 C:\Windows\system32\OLEAUT32.dll
76300000 76357000 SHLWAPI C:\Windows\system32\SHLWAPI.dll
76360000 76401000 RPCRT4 C:\Windows\system32\RPCRT4.dll
76410000 77059000 SHELL32 C:\Windows\system32\SHELL32.dll
77240000 772ec000 msvcrt C:\Windows\system32\msvcrt.dll
774b0000 7754d000 USP10 C:\Windows\system32\USP10.dll
77550000 77624000 noyau32 C:\Windows\system32\kernel32.dll
77630000 7776c000 ntdll C:\Windows\SYSTEM32\ntdll.dll
77770000 7778f000 IMM32 C:\Windows\system32\IMM32.DLL
777b0000 777ba000 LPK C:\Windows\system32\LPK.dll
777c0000 77860000 ADVAPI32 C:\Windows\system32\ADVAPI32.dll

Vous pouvez également connaître l'adresse de chargement d'un module spécifique à l'aide de la commande « lmf m » :

0:005> lmf m noyau32
début fin nom du module
77550000 77624000 noyau32 C:\Windows\system32\kernel32.dll

Vous pouvez également obtenir des informations sur l'en-tête de l'image d'un module particulier en utilisant l'extension !dh (le point d'exclamation indique l'extension) :

0:005> !dh noyau32

Type de fichier : DLL
VALEURS D'EN-TÊTE DE FICHIER
Appareil 14C (i386)
4 nombre de sections
4A5BDAAD horodatage lundi 13 juillet 21:09:01 2009

0 pointeur de fichier vers la table des symboles
0 nombre de symboles
Taille E0 de l'en-tête optionnel
2102 caractéristiques
Exécutable
Machine à mots 32 bits
DLL

VALEURS D'EN-TÊTE FACULTATIVES
10B magie #
Version de l'éditeur de liens 9h00
Taille du code C4600
Taille C800 des données initialisées
0 taille de données non initialisées
510C5 Adresse du point d'entrée
1000 codes de base
----- nouveau -----
77550000 bases d'images
Alignement de 1000 sections
200 alignements de fichiers
3 sous-système (Windows CUI)
Version du système d'exploitation 6.01
6.01 version illustrée
Version du sous-système 6.01
Taille de l'image D4000
800 tailles d'en-têtes
Somme de contrôle D5597
00040000 taille de réserve de pile
00001000 taille de validation de pile
00100000 taille de réserve de tas
00001000 taille de validation du tas
140 caractéristiques des DLL
Socle dynamique
Compatible NX
B4DA8 [A915] adresse du répertoire d'exportation
BF6C0 [ 1F4] adresse du répertoire d'importation
Adresse C7000 [520] du répertoire de ressources
0 [ 0] adresse du répertoire des exceptions
0 [ 0] adresse du répertoire de sécurité
Adresse C8000 [B098] du répertoire de réinstallation de la base
C5460 [ 38] adresse du répertoire de débogage
0 [ 0] adresse du répertoire de description
0 [ 0] adresse du répertoire spécial
0 [ 0] adresse du répertoire de stockage des threads
816B8 [ 40] adresse du répertoire de configuration de chargement
278 [408] adresse du répertoire d'importation lié
1000 [DE8] adresse du répertoire de la table d'adresses d'importation
0 [ 0] adresse du répertoire d'importation différée
0 [ 0] adresse du répertoire d'en-tête COR20
0 [ 0] adresse du répertoire réservé

EN-TÊTE DE SECTION #1
nom .text
Taille virtuelle C44C1
1000 adresses virtuelles
Taille C4600 des données brutes
800 pointeur de fichier vers les données brutes

0 nombre de déménagements
0 nombre de numéros de ligne
60000020 drapeaux
Code
(aucun alignement spécifié)
Exécuter la lecture

Répertoires de débogage (2)
Type Taille Adresse Pointeur
cv 25 c549c c4c9c Format : RSDS, guid, 2, kernel32.pdb
(10) 4 c5498 c4c98

EN-TÊTE DE SECTION #2
nom .data
Taille virtuelle FEC
Adresse virtuelle C6000
Taille E00 des données brutes
Pointeur de fichier C4E00 vers les données brutes
0 pointeur de fichier vers la table de relocalisation
0 pointeur de fichier vers les numéros de ligne
0 nombre de déménagements
0 nombre de numéros de ligne
C0000040 drapeaux
Données initialisées
(aucun alignement spécifié)
Lire écrire

EN-TÊTE DE SECTION #3
nom .rsrc
520 taille virtuelle
Adresse virtuelle C7000
Taille 600 de données brutes
Pointeur de fichier C5C00 vers les données brutes
0 pointeur de fichier vers la table de relocalisation
0 pointeur de fichier vers les numéros de ligne
0 nombre de déménagements
0 nombre de numéros de ligne
40000040 drapeaux
Données initialisées
(aucun alignement spécifié)
Lecture seulement

EN-TÊTE DE SECTION #4
nom .reloc
Taille virtuelle B098
Adresse virtuelle C8000
Taille B200 des données brutes
Pointeur de fichier C6200 vers les données brutes
0 pointeur de fichier vers la table de relocalisation
0 pointeur de fichier vers les numéros de ligne
0 nombre de déménagements
0 nombre de numéros de ligne
42000040 drapeaux
Données initialisées
Jetable
(aucun alignement spécifié)
Lecture seulement

Messages et exceptions

Après la connexion à un processus, une liste de modules s'affiche d'abord, puis d'autres messages peuvent apparaître. Par exemple, lorsque nous nous connectons à calc.exe, WinDBG définit automatiquement un point d'arrêt (qui est simplement un marqueur utilisé pour arrêter l'application). Les informations sur le point d'arrêt s'affichent à l'écran :

(da8.b44) : exception d'instruction de rupture - code 80000003 (première chance)

Ce message particulier est une exception, à savoir une exception de première chance. Essentiellement, une exception est une condition particulière qui se produit lors de l’exécution d’un programme. Une exception de première chance signifie que le programme s'est arrêté immédiatement après l'apparition de l'exception. L'exception de la deuxième chance signifie qu'une fois l'exception survenue, certaines opérations seront effectuées, puis le programme cessera de fonctionner.

Registres

Après avoir affiché les messages et exceptions, le débogueur affiche l'état des registres du processeur. Les registres sont des variables spéciales à l'intérieur du processeur qui stockent de petites informations ou surveillent l'état de quelque chose en mémoire. Le processeur peut traiter les informations contenues dans ces registres très rapidement. C'est beaucoup plus rapide que d'obtenir à chaque fois des informations via le bus depuis la RAM.

Après vous être connecté à calc.exe, WinDBG affiche automatiquement des informations sur les registres suivants :

eax=7ffd9000 ebx=00000000 ecx=00000000 edx=776cd23d esi=00000000 edi=00000000
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246

Vous pourrez à nouveau dupliquer ces informations ultérieurement à l'aide de la commande r :

0:005>r
eax=7ffd9000 ebx=00000000 ecx=00000000 edx=776cd23d esi=00000000 edi=00000000
eip=77663540 esp=02affd9c ebp=02affdc8 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!DbgBreakPoint :
77663540 cm3 int 3

Si nous voulons obtenir la valeur d'un registre spécifique, nous pouvons exécuter la commande suivante :

0:005> réponse
eax=7ffd9000

Les informations peuvent être obtenues simultanément à partir de plusieurs registres comme suit :

0:005> r eax, ebp
eax=7ffd9000 ebp=02affdc8

Pointeur vers les instructions

La dernière commande concerne les instructions à exécuter. Ici, les informations sont également affichées à l'écran, comme dans le cas de la commande r, de ce que contient le registre EIP. EIP est un registre qui contient l'emplacement de la prochaine instruction à exécuter par le processeur. Ce que WinDBG affiche est l'équivalent de la commande u eip L1, après quoi WinDBG se rend à l'adresse spécifiée dans le registre EIP, convertit cette section en code assembleur et l'affiche à l'écran.

ntdll!DbgBreakPoint :
77663540 cm3 int 3

reste en contact

Dans les prochains articles, nous verrons comment utiliser WinDBG sur le terrain : points d'arrêt, débogage étape par étape et navigation dans la mémoire. Ne changez pas ! J.

Outils de débogage pour Windows- Outils de débogage du code des systèmes d'exploitation Windows. Il s'agit d'un ensemble de programmes distribués gratuitement par Microsoft, conçus pour déboguer le code du mode utilisateur et du mode noyau : applications, pilotes, services, modules du noyau. La boîte à outils comprend des débogueurs en mode console et GUI, des utilitaires pour travailler avec des symboles, des fichiers, des processus et des utilitaires pour le débogage à distance. La boîte à outils contient des utilitaires qui peuvent être utilisés pour rechercher les causes des pannes de divers composants du système. Outils de débogage pour Windowsà partir d'un certain point, ne sont plus disponibles au téléchargement sous la forme d'une distribution autonome et font partie du Windows SDK (Windows Software Development Kit). Le SDK Windows, quant à lui, est disponible dans le cadre du programme d'abonnement MSDN ou peut être téléchargé gratuitement en tant que distribution distincte à partir de msdn.microsoft.com. Selon les développeurs, la version la plus récente et la plus récente des outils de débogage pour Windows est contenue dans le SDK Windows.

Les outils de débogage pour Windows sont mis à jour et rendus publics assez souvent et ce processus ne dépend en aucun cas de la version des systèmes d'exploitation. Par conséquent, vérifiez périodiquement les nouvelles versions.

Voyons maintenant ce que nous permettent notamment de faire les outils de débogage pour Microsoft Windows :

  • Déboguer les applications, services, pilotes et noyau locaux ;
  • Déboguer les applications, services, pilotes et noyau distants sur le réseau ;
  • Déboguer les applications en cours d'exécution en temps réel ;
  • Analyser les fichiers de vidage mémoire des applications, du noyau et du système dans son ensemble ;
  • Travailler avec des systèmes basés sur des architectures x86/x64/Itanium ;
  • Déboguer les programmes en mode utilisateur et en mode noyau ;

Les versions suivantes des outils de débogage pour Windows sont disponibles : 32 bits x86, Intel Itanium, 64 bits x64. Nous en aurons besoin de deux : x86 ou x64.

Il existe plusieurs façons d'installer les outils de débogage pour Windows ; dans cet article, nous ne considérerons que les principales :

  • Installation via l'installateur Web.
  • Installation des outils de débogage pour Windows à partir de l’image ISO du SDK Windows.
  • Installation des outils de débogage pour Windows directement à partir des packages dbg_amd64.msi / dbg_x86.msi.

On ne sait pas encore à quel moment pourquoi devrais-je installer des outils de débogage sur mon ordinateur ? Vous êtes souvent confronté à une situation où l'interférence dans l'environnement de travail est extrêmement indésirable ! Et plus encore, installer un nouveau produit, c'est-à-dire apporter des modifications aux fichiers de registre/système, peut être totalement inacceptable. Les exemples incluent les serveurs critiques. Pourquoi les développeurs n'envisagent-ils pas l'option de versions portables d'applications qui ne nécessitent pas d'installation ?
De version en version, le processus d'installation du package Debugging Tools for Windows subit quelques modifications. Passons maintenant directement au processus d'installation et examinons les manières dont vous pouvez installer la boîte à outils.

Installation des outils de débogage pour Windows à l'aide du programme d'installation Web

Accédez à la page Windows SDK Archive et recherchez une section intitulée Windows 10 et sous l'élément « SDK Windows 10 (10586) et émulateur de périphérique avec Windows 10 Mobile (Microsoft) (version 10586.11) ».

Cliquez sur l'article INSTALLER LE SDK. Après avoir cliqué, téléchargez et exécutez le fichier sdksetup.exe, qui lance le processus d'installation en ligne du SDK Windows. Au stade initial, le programme d'installation vérifiera si la dernière version du package .NET Framework est installée sur le système (actuellement 4.5). Si le package est manquant, l'installation vous sera proposée et la station redémarrera une fois terminée. Immédiatement après le redémarrage, au stade de l'autorisation de l'utilisateur, le processus d'installation du SDK Windows lui-même démarre.

Souvent, lors de la sélection de tous les composants d'un package sans exception, des erreurs peuvent survenir lors du processus d'installation. Dans ce cas, il est recommandé d'installer les composants de manière sélective, l'ensemble minimum requis.

Une fois l'installation des outils de débogage pour Windows terminée, l'emplacement des fichiers de débogage pour cette méthode d'installation sera le suivant :

  • Versions 64 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • Versions 32 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86

* où x.x est une version spécifique du kit de développement ;
Avez-vous remarqué que dans les versions 8 et supérieures, les chemins d'installation sont sensiblement différents des outils de débogage classiques pour toutes les versions précédentes ?

Un énorme avantage de cette méthode d'installation des outils de débogage pour Windows est l'installation de versions d'outils de débogage pour toutes les architectures à la fois.

Installation des outils de débogage pour Windows à partir de l'ISO du SDK Windows

Cette méthode implique l'installation des outils de débogage pour Windows à l'aide de l'image d'installation complète du SDK Windows (Software Developers Kit). Jusqu'à un certain temps, vous pouvez télécharger une image ISO pour le système correspondant sur la page Windows SDK Archive. Cependant, pour le moment, vous pouvez obtenir une image ISO du SDK en exécutant le programme d'installation Web sdksetup.exe et en sélectionnant Téléchargez le kit de développement logiciel Windows dans la fenêtre de démarrage du programme d'installation :

Comme nous l'avons découvert, la méthode d'installation précédente utilisant un installateur Web est assez capricieuse et se termine souvent par une erreur. Sur des systèmes propres, il s'installe sans problème, mais sur des systèmes suffisamment chargés, de nombreux problèmes surviennent. Si tel est votre cas, utilisez cette méthode.

En conséquence, sur la page, vous devez sélectionner la distribution requise, pour moi (et je pense pour beaucoup) pour le moment, il s'agit du « SDK Windows pour Windows 7 et .NET Framework 4 » et juste en dessous, cliquez sur le lien « Obtenir un ISO image d’un DVD” .

Lorsque vous travaillez avec le site msdn.microsoft.com, je vous conseille d'utiliser le navigateur Internet Explorer, car des cas d'inopérabilité de produits concurrents ont été observés !

Il faut donc choisir uniquement en fonction de la nécessité. En règle générale, le nombre de bits des outils de débogage pour Windows correspond au nombre de bits du système. Mes systèmes sont pour la plupart 64 bits, donc dans la plupart des cas, je télécharge l'image pour un système 64 bits GRMSDKX_EN_DVD.iso.
Ensuite, après avoir téléchargé l'image, nous devons travailler d'une manière ou d'une autre avec l'image ISO existante. La méthode traditionnelle consiste bien sûr à graver un CD, mais c'est une méthode assez longue et parfois coûteuse. Je suggère d'utiliser des utilitaires gratuits pour créer des périphériques de disque virtuel dans le système. Personnellement, je préfère utiliser DEAMON Tools Lite à cet effet. Quelqu'un peut avoir d'autres préférences, des utilitaires plus directs ou légers, selon les goûts et la couleur, comme on dit. Après avoir installé DAEMON Tools Lite, je double-clique simplement sur le fichier image GRMSDKX_EN_DVD.iso et un nouveau fichier virtuel apparaît dans le système. CD:

Puis, en double-cliquant, j'active le chargement automatique et lance l'installation du SDK Windows :

Lorsqu'il est temps de sélectionner les composants à installer dans la liste, nous désactivons absolument toutes les options à l'exception de celles marquées dans la capture d'écran. Cela nous aidera à éviter des erreurs inutiles maintenant.


Tout est exactement comme ça, dans la capture d'écran, il y a deux options marquées : « Windows Performance Toolkit » et « Outils de débogage pour Windows ». Choisissez les deux, car Windows Performance Toolkit vous sera certainement utile dans votre travail ! Puis, après avoir cliqué sur le bouton « Suivant », l'installation se poursuit comme d'habitude. Et à la fin, vous verrez l'inscription « Installation terminée ».
Une fois l'installation terminée, les répertoires de travail du package Debugging Tools for Windows seront les suivants :

  • Pour la version x86 :
  • Pour la version x64 :

À ce stade, l'installation des outils de débogage pour Windows peut être considérée comme terminée.

Installation des outils de débogage pour Windows via le fichier .msi

Si des problèmes surviennent lors de l'installation des outils de débogage pour Windows à l'aide des deux méthodes précédentes, nous en avons encore une en stock, la plus fiable et la plus éprouvée, qui nous a aidé, pour ainsi dire, plus d'une fois. Il était une fois, avant l'intégration dans le SDK Windows, les outils de débogage pour Windows étaient disponibles sous la forme d'un installateur.msi distinct, que l'on peut encore trouver, mais déjà dans les entrailles de la distribution du SDK Windows. Puisque nous avons déjà une image ISO du SDK Windows entre nos mains, nous ne pouvons pas la monter dans le système, mais simplement l'ouvrir à l'aide de l'archiveur WinRAR déjà bien connu, ou de tout autre produit fonctionnant avec le contenu des disques ISO.

Après avoir ouvert l'image, il faut se rendre dans le répertoire « Setup » situé à la racine puis sélectionner l'un des répertoires :

  • Pour installer la version 64 bits : \Configuration\WinSDKDebuggingTools_amd64 et décompressez le fichier dbg_amd64.msi de ce répertoire.
  • Pour installer la version 32 bits : \Setup\WinSDKDebuggingTools et décompressez le fichier dbg_x86.msi de ce répertoire.

Une fois l'installation terminée, les répertoires de travail du package Debugging Tools for Windows seront les suivants :

  • Pour la version x86 : C:\Program Files (x86)\Outils de débogage pour Windows (x86)
  • Pour la version x64 : C:\Program Files\Outils de débogage pour Windows (x64)

À ce stade, l'installation des outils de débogage pour Windows peut être considérée comme terminée.

Informations Complémentaires

Je ne sais pas à quoi cela est lié, peut-être à cause de ma négligence, mais après avoir installé les outils de débogage pour Windows, le programme d'installation ne définit pas le chemin d'accès au répertoire avec le débogueur dans la variable de chemin système Path. Cela impose certaines restrictions sur le lancement de diverses tâches de débogage directement depuis la console. Par conséquent, s'il n'y a pas de chemin, j'écris indépendamment dans la fenêtre Variables d'environnement chemin vers les outils de débogage :

  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
  • C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

* Dans votre cas, les chemins peuvent différer à la fois en raison de l'utilisation d'un système d'exploitation d'une taille de bit différente et en raison de l'utilisation d'une version différente du SDK.

Les utilitaires du package Debugging Tools for Windows peuvent fonctionner comme des applications portables ; il vous suffit de copier le répertoire du système d'exploitation. Boîte à outils de performances Microsoft Windows et utilisez-le en version portable sur un serveur de production. Mais n'oubliez pas de prendre en compte la capacité du système !! Même si vous avez terminé une installation complète du package sur un système critique, vous pouvez commencer à travailler juste après l'installation, aucun redémarrage n'est requis.

Composition des outils de débogage pour Windows

Et maintenant, enfin, voici la composition des outils de débogage pour Windows :

Déposer But
adplus.doc Documentation pour l'utilitaire ADPlus.
adplus.exe Une application console qui automatise le travail du débogueur cdb pour créer des dumps et des fichiers journaux pour un ou plusieurs processus.
agestore.exe Un utilitaire permettant de supprimer les fichiers obsolètes du stockage utilisé par un serveur de symboles ou un serveur source.
breakin.exe Un utilitaire qui vous permet d'envoyer une combinaison de pauses personnalisée aux processus, semblable à appuyer sur CTRL+C.
cdb.exe Débogueur de console en mode utilisateur.
convertstore.exe Un utilitaire pour convertir des symboles de 2 niveaux à 3 niveaux.
dbengprx.exe Répéteur (serveur proxy) pour le débogage à distance.
dbgrpc.exe Un utilitaire pour afficher les informations sur l'état des appels RPC.
dbgsrv.exe Processus serveur utilisé pour le débogage à distance.
dbh.exe Un utilitaire pour afficher des informations sur le contenu d'un fichier de symboles.
dumpchk.exe Utilitaire de vérification des dumps. Un utilitaire pour vérifier rapidement un fichier de vidage.
dumpexam.exe Un utilitaire pour analyser un vidage mémoire. Le résultat est affiché dans %SystemRoot%\MEMORY.TXT .
gflags.exe Éditeur de drapeaux système globaux. L'utilitaire gère les clés de registre et d'autres paramètres.
i386kd.exe Emballage pour kd. Était-ce ainsi que kd était autrefois appelé pour les systèmes basés sur Windows NT/2000 pour les machines x86 ? Probablement laissé pour des raisons de compatibilité.
ia64kd.exe Emballage pour kd. S'appelait-il autrefois kd pour les systèmes basés sur Windows NT/2000 pour les machines ia64 ? Probablement laissé pour des raisons de compatibilité.
kd.exe Débogueur de console en mode noyau.
kdbgctrl.exe Outil de gestion du débogage du noyau. Un utilitaire pour gérer et configurer la connexion de débogage du noyau.
kdsrv.exe Serveur de connexion pour KD. L'utilitaire est une petite application qui s'exécute et attend les connexions à distance. kd s'exécute sur le client et se connecte à ce serveur pour le débogage à distance. Le serveur et le client doivent provenir du même assembly d’outils de débogage.
tuer.exe Un utilitaire pour mettre fin aux processus.
liste.exe Un utilitaire pour afficher le contenu d'un fichier à l'écran. Cet utilitaire miniature a été inclus dans un seul but : afficher des fichiers texte ou journaux volumineux. Il prend peu d'espace mémoire car il charge le texte par parties.
logger.exe Un débogueur miniature qui ne peut fonctionner qu'avec un seul processus. L'utilitaire injecte logexts.dll dans l'espace de processus, qui enregistre tous les appels de fonction et autres actions du programme étudié.
logviewer.exe Un utilitaire pour afficher les journaux enregistrés par le débogueur logger.exe.
ntsd.exe Débogueur symbolique Microsoft NT (NTSD). Un débogueur identique à cdb sauf qu'il crée une fenêtre de texte au lancement. Comme cdb, ntsd est capable de déboguer à la fois les applications console et les applications graphiques.
pdbcopy.exe Un utilitaire pour supprimer les symboles privés d'un fichier de symboles, contrôlant les symboles publics inclus dans le fichier de symboles.
distant.exe Un utilitaire pour le débogage à distance et le contrôle à distance de n'importe quel débogueur de console KD, CDB et NTSD. Vous permet d'exécuter tous ces débogueurs de console à distance.
rtlist.exe Visionneuse de tâches à distance. L'utilitaire est utilisé pour afficher une liste des processus en cours d'exécution via le processus du serveur DbgSrv.
symchk.exe Un utilitaire permettant de télécharger des symboles depuis le serveur de symboles Microsoft et de créer un cache de symboles local.
symstore.exe Un utilitaire pour créer un réseau ou un stockage de symboles local (2 niveaux/3 niveaux). Le stockage de symboles est un répertoire spécialisé sur disque, construit selon une structure spécifique et contenant des symboles. Une structure de sous-dossiers aux noms identiques aux noms des composants est créée dans le répertoire racine des symboles. À leur tour, chacun de ces sous-dossiers contient des sous-dossiers imbriqués portant des noms spéciaux obtenus en hachant des fichiers binaires. L'utilitaire symstore analyse les dossiers de composants et ajoute de nouveaux composants au magasin de symboles, où n'importe quel client peut les récupérer. On dit que symstore est utilisé pour recevoir des symboles d'un stockage de niveau 0 et les placer dans un stockage à 2/3 niveaux.
tlist.exe Visionneuse de tâches. Un utilitaire pour afficher une liste de tous les processus en cours d'exécution.
umdh.exe Utilitaire de tas de vidage en mode utilisateur. Un utilitaire pour analyser les tas du processus sélectionné. Vous permet d'afficher divers paramètres pour le tas.
usbview.exe Visionneuse USB. Un utilitaire pour visualiser les périphériques USB connectés à un ordinateur.
vmdemux.exe Démultiplexeur de machine virtuelle. Crée plusieurs canaux nommés pour une connexion COM. Les canaux sont utilisés pour déboguer divers composants de machine virtuelle
Windbg.exe Débogueur en mode utilisateur et en mode noyau avec interface graphique.

Pour identifier les causes des écrans bleus (BSOD), vous devez analyser l'image mémoire. Dans la grande majorité des cas, un minidump, créé par le système en cas d'erreurs critiques, suffit.
Cet article contient des instructions étape par étape pour installer et configurer WinDBG, un puissant outil de débogage qui vous permet d'identifier la véritable cause d'un BSOD.

Étape 1 - Configuration de petits vidages de mémoire

Étape 2 - Installation de WinDBG

Pour analyser les vidages de mémoire, vous devrez installer le débogueur WinDBG, inclus dans le SDK Windows. Au moment de la rédaction de cet article, les dernières versions disponibles du SDK Windows sont :

  • SDK Windows 10 (téléchargement du programme d'installation réseau)
  • SDK Windows 8.1 (téléchargement du programme d'installation réseau)

Étape 3 - Mappage des fichiers .dmp vers WinDBG

Pour faciliter la lecture et l'analyse des vidages de mémoire, mappez les fichiers .dmp à WinDBG. Cela vous permettra d'ouvrir les fichiers de vidage de l'Explorateur directement dans WinDBG sans le lancer au préalable.


Étape 4 — Configuration d'un serveur de symboles pour recevoir les fichiers de symboles de débogage


L'installation et la configuration initiale de WinDBG sont terminées. Afin de changer son apparence, vous pouvez aller dans le menu Voir- vous trouverez les paramètres de police en sélectionnant Police de caractère, et les paramètres de la fenêtre de la console dans Possibilités.

Ces types d’accidents sont généralement associés à un pilote défectueux, qui peut être difficile à identifier. Cependant, le système amélioré de suivi des erreurs de Windows Vista (et pas seulement Vista !) peut souvent vous conduire au fichier problématique. En conséquence, la plupart des gens arrêtent frénétiquement d'essayer de travailler sur un ordinateur instable, enregistrant des documents avec une régularité paranoïaque et en espérant le meilleur.

Lorsque Windows plante, un « vidage de mémoire » est généralement créé. Ce dernier peut être étudié à l'aide des outils de débogage Windows gratuits, qui peuvent vous indiquer la source du problème. Il vous suffit donc de :

Téléchargez-vous un outil de débogage

Vous pouvez télécharger les outils de débogage Windows directement à partir du site Web de Microsoft. Le programme fonctionne avec une variété de systèmes d'exploitation, de Windows NT 4 à Windows 2008, vous ne devriez donc avoir aucun problème avec celui-ci. Oui, on ne peut pas dire qu'il soit stable sous Windows 7 RC, mais d'après nos tests il fonctionne toujours. Par conséquent, même une tentative de diagnostic du problème sous Windows 7 RC peut réussir.

Configurez votre système

Il est nécessaire que lors de pannes votre ordinateur crée des dumps mémoire, qui serviront plus tard de source d'informations au débogueur. Il est donc important que Windows soit configuré pour générer des dumps. Pour configurer votre système d'exploitation, cliquez avec le bouton droit sur Votre ordinateur et sélectionnez Propriétés. Cliquez ensuite sur l'onglet Paramètres système avancés, recherchez la sous-section Paramètres de démarrage et de récupération et assurez-vous que l'option Écrire les informations de débogage est définie sur Vidage de la mémoire du noyau ) ou Vidage mémoire complet.

Ensuite, cliquez sur Démarrer, accédez à Tous les programmes, sélectionnez Outils de débogage et lancez WinDbg. Dans le programme, allez dans le menu Fichier et sélectionnez Chemin du fichier de symboles... Écrivez ensuite la ligne suivante dans la fenêtre qui s'ouvre :

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

Ce dernier définit le chemin vers des données spéciales - les soi-disant « symboles », qui peuvent aider l'outil de débogage à identifier votre fichier défectueux.

Après avoir entré la ligne, cliquez sur le bouton OK. Plus tard, lorsque vous travaillerez avec le débogueur, cette ligne entraînera le téléchargement des symboles depuis msdl.microsoft.com et leur enregistrement dans le dossier c:\symbols.

Résolvez votre problème

Attendez maintenant le prochain échec de l'écran bleu et l'achèvement ultérieur du redémarrage de l'ordinateur. Ensuite, lancez à nouveau WinDbg (les utilisateurs de Vista doivent exécuter le programme en tant qu'administrateur), cliquez sur le menu Fichier, sélectionnez Ouvrir Crash Dump, ouvrez le fichier \Windows\MEMORY.DMP et le programme commencera immédiatement à l'analyser.

Malheureusement, WinDbg fournit très peu d'informations sur ce qu'il fait, vous pourriez donc même penser que le programme s'est bloqué. Cependant, attendez. Comprenez que l'analyse, disons, de 4 Go de mémoire sur un ordinateur peu puissant peut prendre un certain temps, voire des heures. Soyez donc patient, ou mieux laissez l’analyse toute la nuit.

Cependant, le résultat est généralement obtenu en quelques minutes. Ceci est démontré par la ligne d'analyse d'erreurs Bugcheck Analysis, qui rapporte quelque chose comme « Probablement causé par : UACReplace.sys ». Traduit en russe, cela signifie que le problème peut être causé par le fichier UACReplace.sys. Entrez-le dans la barre de recherche, par exemple Google et vous découvrirez sa véritable origine. En particulier, s'il appartient à l'un des programmes que vous avez installés ou au pilote que vous avez installé, vous pouvez alors simplement essayer de le mettre à jour. Peut-être que cela résoudra les problèmes que vous rencontrez.

Il faut dire que de temps en temps, WinDbg ne parvient pas du tout à nommer le fichier ou sélectionne simplement l'une des DLL Windows. Si cela vous arrive, cliquez simplement sur la fenêtre de commande au-dessus de la barre d'état et tapez la commande :

Après cela, appuyez sur Entrée. Cela vous fournira un rapport plus détaillé, pouvant contenir des informations sur les causes possibles de vos problèmes.

Si vous n’avez pas de chance cette fois-ci, ne désespérez pas. Le débogage est assez difficile, même pour les experts. Fermez donc simplement WinDbg et réexécutez l'analyseur après le prochain échec. Peut-être que cela vous donnera un peu plus d'informations. Bonne chance!