Outils de débogage Windows : diagnostic et correction des BSOD. Outils de débogage Windows : diagnostic et correction des BSOD Création d'un serveur distant

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

Lorsque Windows plante, un « vidage mémoire » est généralement créé. Ce dernier peut être étudié avec les outils de débogage gratuits de Windows, qui peuvent vous indiquer la source du problème. Par conséquent, tout ce que vous devez faire est 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 de nombreux systèmes d'exploitation, commençant par Windows NT 4 et se terminant par Windows 2008, vous ne devriez donc pas avoir de problèmes avec. 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 d'un problème sous Windows 7 RC peut réussir.

Configurez votre système

Pendant les pannes, votre ordinateur doit créer des vidages mémoire qui serviront plus tard de source d'informations pour le débogueur. Par conséquent, il est important que Windows soit configuré pour générer des vidages. Pour configurer votre système d'exploitation, faites un clic droit sur Votre ordinateur (Ordinateur) et sélectionnez Propriétés (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 mémoire du noyau ) ou Vidage mémoire complet.

Ensuite, cliquez sur Démarrer, accédez à Programmes (Tous les programmes), sélectionnez Outils de débogage et exécutez WinDbg. Dans le programme, allez dans le menu File et sélectionnez Symbol File Path... Puis écrivez 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" (symboles), qui peuvent aider l'outil de débogage à identifier votre fichier en panne.

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

Résoudre votre problème

Attendez maintenant une autre panne d'écran bleu et la fin ultérieure du redémarrage de l'ordinateur. Ensuite, exécutez à nouveau WinDbg (les utilisateurs de Vista doivent exécuter le programme en tant qu'administrateur), cliquez sur le menu Fichier, sélectionnez Ouvrir le vidage sur incident, 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 est bloqué. Cependant, attendez. Comprenez que l'analyse, disons, de 4 Go de mémoire sur un ordinateur pas très puissant peut prendre du temps, jusqu'à des heures. Par conséquent, soyez patient, mais laissez plutôt l'analyse du jour au lendemain.

Cependant, le résultat est généralement obtenu en quelques minutes. Ceci est démontré par la ligne Bugcheck Analysis qui dit quelque chose comme "Probablement causé par : UACReplace.sys". Traduit en russe, cela signifie que le problème est 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 pilote installé, alors vous pouvez simplement essayer de le mettre à jour ou lui. Peut-être que cela résoudra vos problèmes.

Je dois dire que de temps en temps, WinDbg ne peut pas du tout nommer le fichier ou sélectionne simplement l'une des DLL Windows. Si cela vous est arrivé, 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é qui peut contenir des informations sur raisons possibles vos ennuis.

Si cette fois vous n'êtes pas chanceux, ne désespérez pas. Le débogage est assez difficile, même pour les experts. Il vous suffit donc de fermer WinDbg et de relancer l'analyseur après le prochain plantage. Cela vous donnera peut-être plus d'informations. Bonne chance!

Pour identifier les causes des écrans bleus (BSOD), il est nécessaire d'analyser le vidage mémoire. Dans la grande majorité des cas, un minidump est suffisant, créé par le système en cas d'erreurs critiques.
Cet article contient instruction étape par étape pour installer et configurer WinDBG - un puissant outil de débogage qui vous permet d'identifier la véritable cause du BSOD.

Étape 1 - Configuration d'un petit enregistrement de vidage mémoire

Étape 2 - Installation de WinDBG

Pour analyser les vidages mémoire, vous devrez installer le débogueur WinDBG, qui est inclus avec le SDK Windows. Au moment de la rédaction, les dernières versions disponibles Versions Windows SDK :

  • SDK Windows 10 (télécharger le programme d'installation en ligne)
  • SDK Windows 8.1 (télécharger le programme d'installation en ligne)

Étape 3 - Mappage des fichiers .dmp sur WinDBG

Mappez vos fichiers .dmp sur WinDBG pour faciliter la lecture et l'analyse des vidages mémoire. Cela vous permettra d'ouvrir les fichiers de vidage de l'explorateur directement dans WinDBG, en contournant son lancement préliminaire.


Étape 4 - Configuration du serveur de symboles pour recevoir des fichiers de symboles de débogage


L'installation et la configuration initiale de WinDBG sont maintenant terminées. Pour le changer apparence tu peux aller dans le menu voir- paramètres de police que vous trouverez en sélectionnant l'élément Police de caractère, et les paramètres de la fenêtre de la console dans Choix.

Lors d'une panne critique, le système d'exploitation Windows cesse de fonctionner et affiche un écran bleu de la mort (BSOD). Le contenu de la RAM et toutes les informations sur l'erreur qui s'est produite sont écrits dans le fichier d'échange. Au prochain démarrage de Windows, un vidage sur incident est créé avec des informations de débogage basées sur les données enregistrées. Une entrée d'erreur fatale est créée dans le journal des événements système.

Attention! Un vidage sur incident n'est pas créé si le sous-système de disque est défaillant ou si une erreur critique s'est produite lors de la phase initiale du démarrage de Windows.

Types de vidages sur incident Windows

En utilisant le système d'exploitation Windows 10 actuel (Windows Server 2016) comme exemple, examinons les principaux types de vidages mémoire que le système peut créer :

  • Mini vidage mémoire (Petit vidage mémoire)(256 Ko). Ce type de fichier comprend un minimum d'informations. Il ne contient que le message d'erreur BSOD, des informations sur les pilotes, les processus qui étaient actifs au moment du crash et quel processus ou thread du noyau a causé le crash.
  • Image mémoire du noyau. Généralement petit, un tiers de la quantité de mémoire physique. Le vidage mémoire du noyau est plus détaillé que le minidump. Il contient des informations sur les pilotes et les programmes en mode noyau, inclut la mémoire allouée au noyau Windows et à la couche d'abstraction matérielle (HAL), ainsi que la mémoire allouée aux pilotes et autres programmes en mode noyau.
  • Vidage mémoire complet. Le plus grand en taille et nécessite une mémoire égale à la RAM de votre système plus les 1 Mo requis par Windows pour créer ce fichier.
  • Vidage mémoire automatique. Correspond à un vidage mémoire du noyau en termes d'informations. Il ne diffère que par la quantité d'espace qu'il utilise pour créer le fichier de vidage. Ce type de fichier n'existait pas dans Windows 7. Il a été ajouté dans Windows 8.
  • Image mémoire active. Ce type filtre les éléments qui ne peuvent pas déterminer la cause d'une défaillance du système. Cela a été ajouté dans Windows 10 et est particulièrement utile si vous utilisez une machine virtuelle ou si votre système est un hôte Hyper-V.

Comment activer la génération de vidage mémoire sous Windows ?

À l'aide de Win + Pause, ouvrez la fenêtre des paramètres système, sélectionnez " Paramètres système supplémentaires" (Réglages avancés du système). Dans l'onglet " En outre" (Avancé), section "" (Démarrage et récupération), cliquez sur le bouton " Choix" (Réglages). Dans la fenêtre qui s'ouvre, configurez les actions en cas de panne du système. Cochez la case " Écrire des événements dans le journal système» (Écrire un événement dans le journal système), sélectionnez le type de vidage à générer lorsque le système plante. Si dans la case à cocher " Remplacer le fichier de vidage existant» (Ecraser tout fichier existant) cochez la case, le fichier sera écrasé à chaque plantage. Il est préférable de décocher cette case, vous aurez alors plus d'informations pour l'analyse. Désactivez également le redémarrage automatique du système (Redémarrer automatiquement).

Dans la plupart des cas, un petit dump mémoire suffira pour analyser la cause du BSOD.

Maintenant, si un BSOD se produit, vous pouvez analyser le fichier de vidage et trouver la cause des échecs. Un minidump est stocké par défaut dans le dossier %systemroot%\minidump. Pour analyser le fichier de vidage, je recommande d'utiliser le programme WinDBG(Débogueur de noyau Microsoft).

Installation de WinDBG sous Windows

Utilitaire WinDBG inclus dans " SDK Windows 10» (SDK Windows 10). .

Le dossier s'appelle winsdksetup.exe, taille 1,3 Mo.

Exécutez l'installation et choisissez d'installer le package sur cet ordinateur ou de le télécharger pour l'installer sur d'autres ordinateurs. Installez le package sur l'ordinateur local.

Vous pouvez installer l'ensemble du package, mais pour installer uniquement l'outil de débogage, sélectionnez Outils de débogage pour Windows.

Une fois installés, les raccourcis WinDBG se trouvent dans le menu Démarrer.

Définition de l'association des fichiers .dmp avec WinDBG

Pour ouvrir les fichiers de vidage d'un simple clic, mappez l'extension .dmp à l'utilitaire WinDBG.

  1. ouvert ligne de commande en tant qu'administrateur et exécutez les commandes pour le système 64 bits : cd C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    windbg.exe –IA
    pour le système 32 bits :
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
    windbg.exe –IA
  2. Par conséquent, les types de fichiers : .DMP, .HDMP, .MDMP, .KDMP, .WEW seront mappés vers WinDBG.

Configuration d'un serveur de symboles de débogage dans WinDBG

Les symboles de débogage (symboles de débogage ou fichiers de symboles) sont des blocs de données générés lors du processus de compilation d'un programme avec un fichier exécutable. Ces blocs de données contiennent des informations sur les noms de variables, les fonctions appelées, les bibliothèques, etc. Ces données ne sont pas nécessaires lors de l'exécution du programme, mais utiles lors de son débogage. Les composants Microsoft sont compilés avec des symboles distribués via Microsoft Symbol Server.

Configurez WinDBG pour utiliser Microsoft Symbol Server :

  • Ouvrez WinDBG ;
  • Aller au menu Dossier –> Chemin d'accès au fichier de symboles ;
  • Écrivez une chaîne contenant l'URL de téléchargement des symboles de débogage depuis le site Web de Microsoft et le dossier d'enregistrement du cache : SRV*E:\Sym_WinDBG*http://msdl.microsoft.com/download/symbols Dans l'exemple, le cache est téléchargé au dossier E:\Sym_WinDBG, vous pouvez en spécifier n'importe lequel.
  • N'oubliez pas d'enregistrer les modifications apportées au menu Dossier–>Enregistrer l'espace de travail ;

WinDBG recherchera des symboles dans le dossier local et, s'il n'y trouve pas les symboles nécessaires, il téléchargera automatiquement les symboles à partir du site spécifié. Si vous souhaitez ajouter votre propre dossier de symboles, vous pouvez le faire comme ceci :

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

S'il n'y a pas de connexion Internet, téléchargez d'abord le package de symboles à partir de la ressource Packages de symboles Windows.

Analyse de vidage sur incident dans WinDBG

Le débogueur WinDBG ouvre le fichier de vidage et charge les symboles nécessaires au débogage à partir de dossier local ou depuis Internet. Au cours de ce processus, vous ne pouvez pas utiliser WinDBG. En bas de la fenêtre (dans la ligne de commande du débogueur) apparaît l'inscription Debugee non connecté.

Les commandes sont saisies dans la ligne de commande située en bas de la fenêtre.

La chose la plus importante à laquelle il faut prêter attention est le code d'erreur, qui est toujours spécifié en valeur hexadécimale et ressemble à 0xXXXXXXXXX(indiqué dans l'une des options - STOP :, 02/07/2019 0008F, 0x8F). Dans notre exemple, le code d'erreur est 0x139.

Le débogueur vous invite à exécuter la commande analyse -v, survolez simplement le lien et cliquez. A quoi sert cette commande ?

  • Il effectue une analyse préliminaire du vidage mémoire et fournit des informations détaillées pour démarrer l'analyse.
  • Cette commande affichera le code STOP et le nom symbolique de l'erreur.
  • Il montre la pile d'appels des commandes qui ont conduit au crash.
  • De plus, les défauts d'adresse IP, de processus et de registre sont affichés ici.
  • L'équipe peut fournir des recommandations toutes faites pour résoudre le problème.

Les principaux points auxquels vous devez prêter attention lors de l'analyse après l'exécution de la commande !analyze -v (la liste n'est pas complète).

1 : kd> !analyser -v


* *
*Analyse de vérification des bogues*
* *
*****************************************************************************
Nom symbolique de l'erreur STOP (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Description de l'erreur (Un composant du noyau a corrompu une structure de données critique. Cette corruption pourrait potentiellement permettre à un attaquant de prendre le contrôle de cette machine) :

Un composant du noyau a corrompu une structure de données critique. La corruption pourrait potentiellement permettre à un utilisateur malveillant de prendre le contrôle de cette machine.
Arguments d'erreur :

Arguments:
Arg1 : 0000000000000003, A LIST_ENTRY a été corrompu (c'est-à-dire double suppression).
Arg2 : ffffd0003a20d5d0, Adresse de la trame de trap pour l'exception qui a causé le bugcheck
Arg3 : ffffd0003a20d528, Adresse de l'enregistrement d'exception pour l'exception qui a provoqué la vérification de bogue
Arg4 : 0000000000000000, réservé
Détails de débogage :
------------------

Le compteur indique combien de fois le système s'est planté avec une erreur similaire :

CUSTOMER_CRASH_COUNT : 1

DEFAULT_BUCKET_ID : FAIL_FAST_CORRUPT_LIST_ENTRY

Code d'erreur STOP au format abrégé :

BUGCHECK_STR : 0x139

Le processus qui s'est écrasé (pas nécessairement la cause de l'erreur, juste ce processus s'exécutait en mémoire au moment du crash) :

PROCESS_NAME : sqlservr.exe

Déchiffrement du code d'erreur : le système a détecté un débordement de tampon de pile dans cette application, ce qui peut permettre à un attaquant de prendre le contrôle de cette application.

ERROR_CODE : (NTSTATUS) 0xc0000409 - Le système a détecté un dépassement d'un tampon basé sur la pile dans cette application. Ce dépassement pourrait potentiellement permettre à un utilisateur malveillant de prendre le contrôle de cette application.
EXCEPTION_CODE : (NTSTATUS) 0xc0000409 - Le système a détecté un dépassement d'un tampon basé sur la pile dans cette application. Ce dépassement pourrait potentiellement permettre à un utilisateur malveillant de prendre le contrôle de cette application.

Dernier appel sur la pile :

LAST_CONTROL_TRANSFER : de fffff8040117d6a9 à fffff8040116b0a0

Pile d'appels au moment de l'échec :

STACK_TEXT :
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528: nt!KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: nt!KiBugCheckDispatch+0x69
ffffd000`3a20d3f0 fffff804`0117c150: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt!KiFastFailDispatch+0xd0
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9: nt!KiRaiseSecurityCheckFailure+0x3d0
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: nt! ?? ::FNODOBFM::`string"+0x17252
ffffd000`3a20d8c0 fffff804`013a34ac : 00000000`00000004 00000000`00000000
ffffd000`3a20d990 fffff804`0117d313: ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380: nt!NtWriteFile+0x694
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt!KiSystemServiceCopyEnd+0x13
000000ee'f25ed2b8 00000000'00000000: 00000000'00000000 00000000'00000000 00000000'00000000

La section de code où l'erreur s'est produite :

SUIVI_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 : propriétaire de la machine

Le nom du module dans la table des objets du noyau. Si l'analyseur a pu détecter un pilote problématique, le nom s'affiche dans les champs MODULE_NAME et IMAGE_NAME :

MODULE_NAME : nt
IMAGE_NAME : ntkrnlmp.exe

1 : kd > lmvm nt
Parcourir la liste complète des modules
Fichier d'image de symbole chargé : ntkrnlmp.exe
Fichier image mémoire mappé : C:\ProgramData\dbg\sym\ntoskrnl.exe\5A9A2147787000\ntoskrnl.exe
Chemin de l'image : ntkrnlmp.exe
Nom de l'image : ntkrnlmp.exe
Nom interne : ntkrnlmp.exe
Nom du fichier d'origine : ntkrnlmp.exe
Version du produit : 6.3.9600.18946
Version du fichier : 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

Dans l'exemple ci-dessus, l'analyse pointait vers le fichier du noyau ntkrnlmp.exe. Lorsque l'analyse de vidage mémoire pointe vers un pilote système (par exemple, win32k.sys) ou un fichier du noyau (comme dans notre exemple, ntkrnlmp.exe), ce fichier n'est probablement pas la cause du problème. Très souvent, il s'avère que le problème réside dans le pilote de périphérique, les paramètres du BIOS ou un dysfonctionnement du matériel.

Si vous voyez que le BSOD est dû à un pilote tiers, son nom sera répertorié dans les valeurs MODULE_NAME et IMAGE_NAME.

Par exemple:

Chemin d'accès à l'image : \SystemRoot\system32\drivers\cmudaxp.sys
Nom de l'image : cmudaxp.sys

Ouvrez les propriétés du fichier du pilote et vérifiez sa version. Dans la plupart des cas, le problème avec les pilotes est résolu en les mettant à jour.

Outils de débogage pour Windows- Outils de débogage de code d'exploitation Systèmes Windows. Il s'agit d'un ensemble de programmes librement distribués de Microsoft conçus pour déboguer le code en mode utilisateur et en mode noyau : applications, pilotes, services, modules du noyau. La boîte à outils comprend des débogueurs de console et d'interface graphique, des utilitaires pour travailler avec des symboles, des fichiers, des processus, des utilitaires pour le débogage à distance. La boîte à outils contient des utilitaires avec lesquels vous pouvez trouver les causes des pannes dans divers composants du système. Outils de débogage pour Windowsà partir d'un certain moment ne sont pas disponibles au téléchargement sous la forme d'une distribution autonome et font partie du SDK Windows (Windows Software Development Kit). Ensemble instrumental Outils Windows Le SDK, à son tour, 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, le dernier et le meilleur version actuelle Les outils de débogage pour Windows sont contenus dans le SDK Windows.

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

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

  • Débogage des applications locales, des services (services), des pilotes et du noyau ;
  • Déboguer les applications distantes, les services (services), les pilotes et le noyau sur le réseau ;
  • Déboguez 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 avons 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 le programme d'installation Web.
  • Installation des outils de débogage pour Windows à partir de l'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 toujours pas à quel moment, pourquoi devrais-je installer des outils de débogage sur un ordinateur ? Souvent, après tout, vous rencontrez une situation où l'intervention dans l'environnement de travail est extrêmement indésirable ! Et d'autant plus que l'installation d'un nouveau produit, c'est-à-dire apporter des modifications aux fichiers de registre / système, peut être totalement inacceptable. Les serveurs critiques en sont des exemples. Pourquoi les développeurs n'envisagent-ils pas des versions portables d'applications qui ne nécessitent pas d'installation ?
De version en version, le processus d'installation du package Outils de débogage pour Windows subit quelques modifications. Passons maintenant directement au processus d'installation et examinons les manières dont la boîte à outils peut être installée.

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 "Windows 10 SDK (10586) et Microsoft Windows 10 Mobile Device Emulator (version 10586.11)".

Cliquez sur un élément INSTALLER 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 le package .NET Framework est installé sur le système dernière version(actuellement c'est 4.5). Si le package est manquant, l'installation vous sera proposée et la station sera redémarrée une fois terminée. Immédiatement après le redémarrage, au stade de l'autorisation de l'utilisateur, le processus d'installation démarre directement avec le SDK Windows.

Souvent, lors du choix de tous les composants du 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 avec cette méthode d'installation sera le suivant :

  • Versions 64 bits : C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
  • version 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 les versions 8 et supérieures, les chemins d'installation sont sensiblement différents de ceux classiques pour toutes les versions précédentes des outils de débogage ?

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 l'image ISO du 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 l'élément Télécharger le kit de développement logiciel Windows dans la fenêtre de démarrage du programme d'installation :

Comme on l'a découvert, la méthode d'installation précédente utilisant le programme d'installation Web est assez capricieuse et échoue souvent. 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 le kit de distribution requis, pour moi (et je pense pour beaucoup) pour le moment, c'est "Windows SDK for Windows 7 and .NET Framework 4" et juste en dessous, cliquez sur le lien "Get DVD Image ISO" .

Lorsque vous travaillez avec le site msdn.microsoft.com, je vous conseille d'utiliser un navigateur Internet Explorer, car on a constaté des cas de non-fonctionnement de produits concurrents !

En conséquence, il est nécessaire de choisir uniquement si nécessaire. Habituellement, le nombre de bits des outils de débogage pour Windows est le même que le nombre de bits du système. Mes systèmes de test sont principalement 64 bits, donc dans la plupart des cas, je télécharge l'image pour le système 64 bits GRMSDKX_EN_DVD.iso .
Ensuite, après avoir téléchargé l'image, nous devons en quelque sorte travailler 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 propose d'utiliser utilitaires gratuits pour créer des périphériques de disque virtuel dans le système. Personnellement, je préfère utiliser le programme DEAMON Tools Lite à cet effet. Quelqu'un peut avoir d'autres préférences, des utilitaires plus directs ou légers, dans le goût 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 j'ai un nouveau disque compact virtuel :

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

Lorsque vient le tour de sélectionner les composants à installer dans la liste, nous désactivons absolument toutes les options sauf celles marquées dans la capture d'écran. Cela nous aidera à éviter des erreurs inutiles maintenant.


C'est vrai, la capture d'écran montre deux options : "Windows Performance Toolkit" et "Outils de débogage pour Windows". Choisissez les deux, car Windows Performance Toolkit vous sera certainement utile dans votre travail ! De plus, après avoir cliqué sur le bouton "Suivant", l'installation se poursuit en mode normal. Et à la fin, vous verrez l'inscription "Installation Complete".
Une fois l'installation terminée, les répertoires de travail du kit Outils de débogage pour Windows seront les suivants :

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

Ceci termine l'installation des outils de débogage pour Windows.

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

En cas de problème lors de l'installation des outils de débogage pour Windows des deux manières précédentes, nous en avons encore un de plus, le plus fiable et le plus éprouvé, qui a aidé, pour ainsi dire, plus d'une fois. Autrefois, avant l'intégration dans le SDK Windows, les outils de débogage pour Windows étaient disponibles sous la forme d'un programme d'installation .msi séparé, que l'on peut encore trouver, mais déjà dans les entrailles de la distribution du SDK Windows. Comme nous avons déjà une image ISO du SDK Windows sous la main, nous ne pouvons pas la monter dans le système, mais simplement l'ouvrir à l'aide de l'archiveur WinRAR bien connu, ou de tout autre produit qui fonctionne avec le contenu des disques ISO.

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

  • Pour installer la version 64 bits : \Setup\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 kit Outils de débogage pour 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 il est lié, peut-être avec 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 l'exécution de diverses tâches de débogage directement à partir de la console. Par conséquent, en l'absence de chemin, j'écris moi-même 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'un nombre de bits différent et en raison de l'utilisation d'un SDK d'une version différente.

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 l'utiliser 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 effectué 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.

Outils de débogage pour Windows

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

Dossier Objectif
adplus.doc Documentation de l'utilitaire ADPlus.
adplus.exe Une application console qui automatise le travail du débogueur cdb pour créer des vidages, des fichiers journaux pour un ou plusieurs processus.
agestore.exe Un utilitaire pour supprimer les fichiers obsolètes du stockage utilisé par le serveur de symboles ou le serveur source.
breakin.exe Un utilitaire qui vous permet d'envoyer une combinaison de pause personnalisée aux processus, comme si vous appuyiez sur CTRL+C.
cdb.exe Débogueur de console en mode utilisateur.
convertstore.exe Utilitaire pour convertir des personnages de 2 niveaux à 3 niveaux.
dbengprx.exe Ripiter (serveur proxy) pour le débogage à distance.
dbgpc.exe Un utilitaire pour afficher des informations sur l'état d'un appel RPC.
dbgsrv.exe Le 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 de vidage. Un utilitaire pour vérifier rapidement un fichier de vidage.
dumpexam.exe Un utilitaire pour analyser un vidage mémoire. Le résultat est sorti dans %SystemRoot%\MEMORY.TXT .
gflags.exe Éditeur des drapeaux du système global. 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. Était-ce ainsi que kd était autrefois appelé 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 de débogage du noyau. Utilitaire de gestion et de configuration de 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 des connexions à distance. kd s'exécute sur un client et se connecte à ce serveur pour le débogage à distance. Le serveur et le client doivent provenir du même assembly Outils de débogage.
kill.exe Utilitaire pour terminer les processus.
liste.exe Un utilitaire pour afficher le contenu d'un fichier à l'écran. Cet utilitaire miniature a été fourni avec un seul objectif - afficher de gros fichiers texte ou journaux. Il prend peu de place en mémoire, car il charge le texte par parties.
logger.exe Un petit débogueur 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 en cours d'examen.
logviewer.exe Un utilitaire pour afficher les journaux écrits 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 démarrage. 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, en contrôlant les symboles publics inclus dans un fichier de symboles.
remote.exe Utilitaire pour le débogage à distance et le contrôle à distance de tout 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 répertorier les processus en cours d'exécution via le processus serveur DbgSrv.
symchk.exe Un utilitaire pour télécharger des symboles à partir du serveur de symboles Microsoft et créer un cache de symboles local.
symstore.exe Utilitaire de création de stockage réseau ou local de symboles (2 niveaux/3 niveaux). Un magasin de symboles est un répertoire spécialisé sur le disque qui est construit selon une certaine structure et contient des symboles. Dans le répertoire racine des symboles, une structure de sous-dossiers est créée avec des noms identiques aux noms des composants. À leur tour, chacun de ces sous-dossiers contient des sous-dossiers imbriqués avec 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 le symstore est utilisé pour obtenir des symboles du stockage de niveau 0 et les mettre dans le stockage de niveau 2/3.
tlist.exe Visionneuse de tâches. Un utilitaire pour lister tous les processus en cours d'exécution.
umdh.exe Utilitaire de tas de vidage en mode utilisateur. Un utilitaire pour analyser les tas d'un processus sélectionné. Vous permet d'afficher diverses options pour le tas.
usbview.exe Visionneuse USB. utilitaire pour voir Périphériques USB connecté à un ordinateur.
vmdemux.exe Démultiplexeur de machine virtuelle. Crée plusieurs canaux nommés pour une seule connexion COM. Les canaux sont utilisés pour déboguer divers composants de la machine virtuelle
windbg.exe Débogueur en mode utilisateur et en mode noyau avec interface graphique.

Pour identifier les causes des écrans bleus (BSOD), il est nécessaire d'analyser le vidage mémoire. Dans la grande majorité des cas, un minidump est suffisant, créé par le système en cas d'erreurs critiques.
Cet article fournit 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 d'un petit enregistrement de vidage mémoire

Étape 2 - Installation de WinDBG

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

  • SDK Windows 10 (télécharger le programme d'installation en ligne)
  • SDK Windows 8.1 (télécharger le programme d'installation en ligne)

Étape 3 - Mappage des fichiers .dmp sur WinDBG

Mappez vos fichiers .dmp sur WinDBG pour faciliter la lecture et l'analyse des vidages mémoire. Cela vous permettra d'ouvrir les fichiers de vidage de l'explorateur directement dans WinDBG, en contournant son lancement préliminaire.


Étape 4 - Configuration du serveur de symboles pour recevoir des fichiers de symboles de débogage


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

mob_info