Analyse d’un fichier de vidage User-Mode

Cette rubrique inclut :

Analyse d’un fichier de vidage User-Mode avec WinDbg

Les fichiers de vidage de mémoire en mode utilisateur peuvent être analysés par WinDbg. La version du processeur ou de Windows sur laquelle le fichier de vidage a été créé n’a pas besoin de correspondre à la plateforme sur laquelle WinDbg est exécuté.

Installation des fichiers de symboles

Avant d’analyser le fichier d’image mémoire, vous devez accéder aux fichiers de symboles de la version de Windows qui a généré le fichier de vidage. Ces fichiers seront utilisés par le débogueur que vous choisissez d’utiliser pour analyser le fichier de vidage. Pour plus d’informations sur l’utilisation du serveur de symboles, consultez Symboles publics Microsoft.

Vous devez également installer tous les fichiers de symboles pour le processus en mode utilisateur, qu’il s’agit d’une application ou d’un service système, qui a provoqué la génération du fichier de vidage par le système. Si vous avez écrit ce code, les fichiers de symboles doivent avoir été générés lorsque le code a été compilé et lié. S’il s’agit d’un code commercial, case activée sur le CD-ROM du produit ou contactez le fabricant du logiciel pour obtenir ces fichiers de symboles particuliers.

Démarrage de WinDbg

Pour analyser un fichier de vidage, démarrez WinDbg avec l’option de ligne de commande -z :

windbg -ySymbolPath-iImagePath-zDumpFileName

L’option -v (mode détaillé) est également utile. Pour obtenir la liste complète des options, consultez Options de Command-Line WinDbg.

Si WinDbg est déjà en cours d’exécution et qu’il est en mode dormant, vous pouvez ouvrir un vidage sur incident en sélectionnant Fichier | Ouvrez la commande de menu Vidage sur incident ou appuyez sur la touche de raccourci Ctrl+D. Lorsque la boîte de dialogue Ouvrir le vidage sur incident s’affiche, entrez le chemin complet et le nom du fichier de vidage sur incident dans la zone de texte Nom de fichier, ou utilisez la boîte de dialogue pour sélectionner le chemin d’accès et le nom de fichier appropriés. Une fois le fichier approprié choisi, sélectionnez Ouvrir.

Vous pouvez également ouvrir un fichier de vidage après l’exécution du débogueur à l’aide de la commande .opendump (Ouvrir le fichier de vidage), suivie de g (Go).

Il est possible de déboguer plusieurs fichiers de vidage en même temps. Pour ce faire, vous pouvez inclure plusieurs commutateurs -z sur la ligne de commande (chacun suivi d’un nom de fichier différent) ou utiliser .opendump pour ajouter des fichiers de vidage supplémentaires en tant que cibles de débogueur. Pour plus d’informations sur le contrôle d’une session à plusieurs cibles, consultez Débogage de plusieurs cibles.

Les fichiers de vidage se terminent généralement par l’extension .dmp ou .mdmp. Vous pouvez utiliser des partages réseau ou des noms de fichiers UNC (Universal Naming Convention) pour le fichier d’image mémoire.

Il est également courant que les fichiers de vidage soient empaquetés dans un fichier CAB. Si vous spécifiez le nom de fichier (y compris l’extension .cab) après l’option -z ou en tant qu’argument d’une commande .opendump , le débogueur peut lire les fichiers de vidage directement à partir du cab. Toutefois, s’il existe plusieurs fichiers de vidage stockés dans un seul CAB, le débogueur ne peut lire qu’un seul d’entre eux. Le débogueur ne lit pas de fichiers supplémentaires à partir du cab, même s’il s’agit de fichiers de symboles ou d’exécutables associés au fichier de vidage.

Analyse d’un fichier de vidage utilisateur complet

L’analyse d’un fichier de vidage utilisateur complet est similaire à l’analyse d’une session de débogage en direct. Pour plus d’informations sur les commandes disponibles pour le débogage des fichiers de vidage en mode utilisateur, consultez la section Référence commandes du débogueur .

Analyse des fichiers Minidump

L’analyse d’un fichier minidump en mode utilisateur est effectuée de la même façon qu’un vidage utilisateur complet. Toutefois, étant donné que beaucoup moins de mémoire a été conservée, vous êtes beaucoup plus limité dans les actions que vous pouvez effectuer. Les commandes qui tentent d’accéder à la mémoire au-delà de ce qui est conservé dans le fichier minidump ne fonctionneront pas correctement.

Techniques supplémentaires

Pour connaître les techniques qui peuvent être utilisées pour lire des types spécifiques d’informations à partir d’un fichier de vidage, consultez Extraction d’informations à partir d’un fichier de vidage.

Analyse d’un fichier de vidage User-Mode avec CDB

Les fichiers de vidage de mémoire en mode utilisateur peuvent être analysés par CDB. La version du processeur ou de Windows sur laquelle le fichier de vidage a été créé n’a pas besoin de correspondre à la plateforme sur laquelle la CDB est exécutée.

Installation des fichiers de symboles

Avant d’analyser le fichier d’image mémoire, vous devez accéder aux fichiers de symboles de la version de Windows qui a généré le fichier de vidage. Ces fichiers seront utilisés par le débogueur que vous choisissez d’utiliser pour analyser le fichier de vidage. Pour plus d’informations sur l’utilisation du serveur de symboles, consultez Symboles publics Microsoft.

Vous devez également installer tous les fichiers de symboles pour le processus en mode utilisateur, qu’il s’agit d’une application ou d’un service système, qui a provoqué la génération du fichier de vidage par le système. Si vous avez écrit ce code, les fichiers de symboles doivent avoir été générés lorsque le code a été compilé et lié. S’il s’agit d’un code commercial, case activée sur le CD-ROM du produit ou contactez le fabricant du logiciel pour obtenir ces fichiers de symboles particuliers.

Démarrage de CDB

Pour analyser un fichier de vidage, démarrez CDB avec l’option de ligne de commande -z :

cdb -ySymbolPath-iImagePath-zDumpFileName

L’option -v (mode détaillé) est également utile. Pour obtenir la liste complète des options, consultez Options de Command-Line CDB.

Vous pouvez également ouvrir un fichier de vidage après l’exécution du débogueur à l’aide de la commande .opendump (Ouvrir le fichier de vidage), suivie de g (Go). Cela vous permet de déboguer plusieurs fichiers de vidage en même temps.

Il est possible de déboguer plusieurs fichiers de vidage en même temps. Pour ce faire, vous pouvez inclure plusieurs commutateurs -z sur la ligne de commande (chacun suivi d’un nom de fichier différent) ou utiliser .opendump pour ajouter des fichiers de vidage supplémentaires en tant que cibles de débogueur. Pour plus d’informations sur le contrôle d’une session à plusieurs cibles, consultez Débogage de plusieurs cibles.

Les fichiers de vidage se terminent généralement par l’extension .dmp ou .mdmp. Vous pouvez utiliser des partages réseau ou des noms de fichiers UNC (Universal Naming Convention) pour le fichier d’image mémoire.

Il est également courant que les fichiers de vidage soient empaquetés dans un fichier CAB. Si vous spécifiez le nom de fichier (y compris l’extension .cab) après l’option -z ou en tant qu’argument d’une commande .opendump , le débogueur peut lire les fichiers de vidage directement à partir du cab. Toutefois, s’il existe plusieurs fichiers de vidage stockés dans un seul CAB, le débogueur ne peut lire qu’un seul d’entre eux. Le débogueur ne lit pas de fichiers supplémentaires à partir du CAB, même s’il s’agit de fichiers de symboles ou d’exécutables associés au fichier de vidage.

Analyse d’un fichier de vidage utilisateur complet

L’analyse d’un fichier de vidage utilisateur complet est similaire à l’analyse d’une session de débogage en direct. Pour plus d’informations sur les commandes disponibles pour le débogage des fichiers de vidage en mode utilisateur, consultez la section Référence commandes du débogueur .

Analyse des fichiers Minidump

L’analyse d’un fichier minidump en mode utilisateur est effectuée de la même façon qu’un vidage utilisateur complet. Toutefois, étant donné que beaucoup moins de mémoire a été conservée, vous êtes beaucoup plus limité dans les actions que vous pouvez effectuer. Les commandes qui tentent d’accéder à la mémoire au-delà de ce qui est conservé dans le fichier minidump ne fonctionneront pas correctement.

Techniques supplémentaires

Pour connaître les techniques qui peuvent être utilisées pour lire des types spécifiques d’informations à partir d’un fichier de vidage, consultez Extraction d’informations à partir d’un fichier de vidage.