Partager via


Analyse d’un fichier de vidage en mode utilisateur

Cette rubrique inclut :

Analyse d’un fichier de vidage en mode utilisateur avec WinDbg

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

Installation des fichiers de symboles

Avant d’analyser le fichier de vidage de mémoire, vous devez accéder aux fichiers de symboles pour 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, soit une application, soit un service système, qui a provoqué la génération du fichier de vidage par le système. Si ce code a été écrit par vous, 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, vérifiez 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 -y SymbolPath -i ImagePath -z DumpFileName

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

Si WinDbg est déjà en cours d’exécution et est en mode dormant, vous pouvez ouvrir un vidage sur incident en sélectionnant le fichier | Ouvrez la commande du 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. Lorsque le fichier approprié a été 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 (Fichier de vidage open), 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 en utilisant .opendump pour ajouter des fichiers de vidage supplémentaires en tant que cibles de débogueur. Pour plus d’informations sur la façon de contrôler 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 de vidage de mémoire.

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

Analyse d’un fichier de vidage d’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 Debugger Commands .

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 complet de l’utilisateur. 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 fonctionnent pas correctement.

Techniques supplémentaires

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

Analyse d’un fichier de vidage en mode utilisateur avec CDB

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

Installation des fichiers de symboles

Avant d’analyser le fichier de vidage de mémoire, vous devez accéder aux fichiers de symboles pour 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, soit une application, soit un service système, qui a provoqué la génération du fichier de vidage par le système. Si ce code a été écrit par vous, 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, vérifiez 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 -y SymbolPath -i ImagePath -z DumpFileName

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

Vous pouvez également ouvrir un fichier de vidage après l’exécution du débogueur à l’aide de la commande .opendump (Fichier de vidage open), 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 en utilisant .opendump pour ajouter des fichiers de vidage supplémentaires en tant que cibles de débogueur. Pour plus d’informations sur la façon de contrôler 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 de vidage de mémoire.

Il est également courant que les fichiers de vidage soient emballés dans un fichier CAB. Si vous spécifiez le nom de fichier (y compris l’extension .cab) après l’option -z ou comme argument d’une commande .opendump, le débogueur peut lire les fichiers de vidage directement hors du cab. Toutefois, s’il existe plusieurs fichiers de vidage stockés dans un seul cab, le débogueur ne pourra lire qu’un d’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 d’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 Debugger Commands .

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 complet de l’utilisateur. 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 fonctionnent pas correctement.

Techniques supplémentaires

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