Partager via


Chargement de symboles

Vous pouvez définir les préférences utilisateur suivantes dans Windows Analyseur de performances (WPA) :

  • Charger les symboles

  • Configurer les chemins d’accès aux symboles

Pour modifier ces options, ouvrez un enregistrement, puis sélectionnez l’option dans le menu Trace .

Symboles managés

Les résolutions de symboles et les piles pour les processus managés sont prises en charge sur les systèmes suivants :

  • Avec .NET Framework 4.5 ou une version ultérieure sur Windows 8 ou version ultérieure

  • Avec .NET Framework 4.0 ou une version ultérieure sur les machines x86

Lorsque vous capturez une trace à l’aide de WPR, WPR active tous les fournisseurs requis pour résoudre les symboles managés dans la trace. WPR crée un dossier en regard de la trace enregistrée qui contient les fichiers PDB de ces symboles managés. Lorsque WPA ouvre la trace, WPA recherche ce dossier et l’ajoute automatiquement au chemin du symbole. Si WPR n’a pas été utilisé pour générer la trace, les symboles des programmes .NET Framework peuvent ne pas décoder complètement ou décoder du tout.

Symboles JavaScript

La résolution des symboles et les piles pour les processus JavaScript sont prises en charge sur les systèmes qui exécutent les logiciels suivants :

  • Windows 7 avec Internet Explorer 10 ou version ultérieure

  • Applications qui utilisent JavaScript sur Windows 8

WP permet aux fournisseurs requis de décoder les symboles du code JavaScript sur les systèmes pris en charge. Les adresses de méthode JavaScript et les trames de pile sont décodées en nom de fichier JavaScript, nom de la méthode, numéro de ligne et numéro de colonne.

Chemins relatifs et variables d’environnement incorporées

Les variables d’environnement _NT_SYMBOL_PATH et _NT_SYMCACHE_PATH peuvent utiliser des chemins d’accès relatifs, des chemins absolus, des chemins d’accès de partage réseau ou des variables d’environnement incorporées. WPA convertit les chemins relatifs en chemins absolus lorsque vous définissez les chemins relatifs pour la première fois. WPA convertit les chemins relatifs que WPA charge à partir de variables d’environnement au démarrage du programme.

WPA convertit les chemins relatifs que vous entrez dans la boîte de dialogue Configurer les chemins d’accès aux symboles lorsque vous fermez la boîte de dialogue. Les modifications apportées au répertoire actif n’affectent pas les chemins relatifs que vous avez déjà définis. La boîte de dialogue Configurer les chemins d’accès de symboles affiche les chemins d’accès actuellement définis lorsque vous ouvrez la boîte de dialogue pour la première fois afin de voir la façon dont WPA a développé tous les chemins relatifs.

WPA développe les variables d’environnement incorporées en même temps qu’il développe les chemins relatifs. Étant donné que WPA capture les variables d’environnement au démarrage du programme, les modifications apportées aux variables d’environnement qui se trouvent en dehors d’un instance de WPA en cours d’exécution n’apparaissent pas dans cette instance.

D’autres programmes qui utilisent la variable d’environnement _NT_SYMCACHE_PATH , tels que WinDbg ou Microsoft Visual Studio, peuvent ne pas gérer les chemins d’accès relatifs ou les variables d’environnement incorporées de la même manière.

Chemin d’accès à SymCache

WPA utilise des fichiers SymCache pour mettre en cache les informations de symbole à partir de fichiers de base de données de programme (PDB) d’une manière compacte et facile d’accès. Une fois que WPA a rempli un dossier SymCache avec les symboles d’une trace, le rechargement des symboles de cette trace est beaucoup plus rapide. Si un fichier SymCache devient trop volumineux ou n’est plus nécessaire, vous pouvez supprimer ce fichier SymCache en toute sécurité. WPA remplit à nouveau le dossier SymCache avec de nouveaux fichiers si nécessaire. Vous pouvez également copier des fichiers SymCache sur un autre ordinateur ou partager les fichiers sur un réseau pour accélérer le chargement des symboles sur différents ordinateurs.

Si vous utilisez la boîte de dialogue Configurer les chemins de symboles pour définir la variable d’environnement _NT_SYMCACHE_PATH sur un dossier auquel WPA ne peut pas accéder, le bouton OK ne ferme pas la boîte de dialogue. Toutefois, vous ne recevez pas de message d’erreur.

Si la variable d’environnement _NT_SYMCACHE_PATH n’est pas attribuée ou vide, WPA crée un dossier SymCache à la racine du lecteur qui contient le fichier exécutable WPA. Si la variable d’environnement _NT_SYMCACHE_PATH s’exécute sur un partage réseau, la variable crée un dossier SymCache à la racine du lecteur qui contient le dossier Program Files. Il s'agit généralement du lecteur C.

Exemples SymCache

La commande suivante place le fichier SymCache dans le dossier C:\SymCache :

C:\SymCache

La commande suivante place le fichier SymCache dans le dossier C:\SymCache, recherche des symboles dans le dossier \\network\SymCache , puis traite la variable d’environnement _NT_SYMBOL_PATH :

C:\SymCache*\\network\SymCache

Cet exemple copie tous les symboles trouvés dans l’exemple dans le dossier \\network\SymCache dans le dossier C:\SymCache . Cela permet à l’utilisateur de créer un dossier SymCache volumineux, puis de copier uniquement les fichiers dont l’utilisateur a besoin pour une trace spécifique dans le dossier désigné.

Pour rechercher plusieurs autres dossiers SymCache, ajoutez les dossiers au chemin de recherche à l’aide d’un séparateur astérisque (*). Lorsque WPA trouve un fichier SymCache dans l’un des emplacements alternatifs, WPA copie le fichier uniquement dans le premier dossier SymCache dans le chemin d’accès. WPA place également les fichiers SymCache nouvellement créés dans le premier dossier SymCache du chemin d’accès.

Pour désactiver la copie et l’écriture tout en utilisant la fonctionnalité de recherche hiérarchique, vous devez laisser la première position du chemin vide, comme illustré dans l’exemple suivant :

*\\network\SymCache

Lorsque vous émettez cette commande, WPA recherche le dossier \\network\SymCache . Toutefois, WPA ne copie pas les résultats ni n’écrit les fichiers SymCache générés dans un autre dossier.

Chemin du symbole

Pour obtenir des informations de base sur la variable d’environnement _NT_SYMBOL_PATH , consultez les articles MSDN suivants :

Le chargement des symboles dans WPA dépend des chemins spécifiés par la variable d’environnement _NT_SYMBOL_PATH (à l’exclusion des symboles déjà mis en cache par WPA dans le dossier SymCache). WPA effectue une recherche séquentielle dans les chemins, en commençant à gauche. Toutefois, le chargement de symboles à partir d’un fichier PDB dans l’un de ces chemins peut prendre du temps, en particulier si le PDB existe sur un ordinateur distant. Nous vous recommandons donc de placer les chemins d’accès réseau après les chemins d’accès locaux et d’utiliser un cache PDB local pour n’importe quel serveur de symboles distant. Toutefois, même si tous les symboles sont stockés localement, WPA peut ne plus répondre pendant le chargement des symboles. WPA revient à un état interactif une fois qu’il a terminé le chargement des symboles.

Lorsque la variable d’environnement _NT_SYMBOL_PATH n’est pas définie, WPA utilise la valeur par défaut suivante :

 .;SRV*\Symbols*https://msdl.microsoft.com/download/symbols;

Points-virgules (;) séparer les différents chemins d’accès. Le premier chemin est le point (.). WPA mappe ce chemin d’accès au dossier actif lorsque WPA charge la trace. Pour plus d’informations sur la façon dont WPA traite les chemins relatifs, consultez la section Chemin d’accès SymCache de cet article.

Le deuxième chemin est le suivant :

 SRV*\Symbols*https://msdl.microsoft.com/download/symbols

Vous devez également définir le chemin d’accès pb NGEN :

set _NT_SYMBOL_PATH=srv*C:\Symbols.NGEN;srv*https://msdl.microsoft.com/download/symbols

Lorsque vous spécifiez ce chemin d’accès, WPA télécharge les symboles à partir du serveur de symboles publics Microsoft et met en cache les fichiers PDB dans le dossier \Symbols (ce dossier est relatif au dossier d’installation de Windows Performance Toolkit).. Par conséquent, WPA place le dossier Symboles en regard du dossier SymCache. Toutefois, si le dossier SymCache se trouve sur un partage réseau, WPA crée le dossier Symboles à la racine du lecteur qui contient le dossier Program Files. Il s'agit généralement du lecteur C.

Si vous ne souhaitez pas rechercher et charger des symboles à partir de fichiers PDB, vous pouvez définir la variable d’environnement _NT_SYMBOL_PATH sur un dossier local qui ne contient pas de symboles, comme un point (.). Ne laissez pas la variable d’environnement _NT_SYMBOL_PATH vide. Si vous laissez la variable d’environnement _NT_SYMBOL_PATH vide, WPA utilise la valeur par défaut.

Lorsque WPA ouvre un enregistrement, WPA recherche un dossier portant le même nom que la trace qui utilise l’extension .ngenpdb . Si WPA trouve ce dossier, WPA ajoute le dossier à la fin de la variable d’environnement _NT_SYMBOL_PATH . L’enregistreur de performances Windows (WPR) crée automatiquement un dossier qui contient des fichiers PDB pour le code managé capturé par WPR pendant l’enregistrement. Par exemple, si vous ouvrez l’enregistrement C:\trace.etl dans WPA, WPA recherche le dossier C:\trace.etl.ngenpdb . Si ce dossier existe, WPA ajoute le dossier à la variable d’environnement _NT_SYMBOL_PATH .

Fonctionnalités WPA

Charger des symboles ou configurer des chemins de symboles

Utilisation de la prise en charge de la base de données NGEN CLR 4.0

Problèmes courants liés à l’analyse des In-Depth