web-dev-qa-db-fra.com

Symboles de chargement de Visual Studio

Je travaille sur un projet ColdFusion depuis un certain temps maintenant, et Visual Studio a commencé à se comporter de façon étrange au moins pour moi.

J'ai constaté que lorsque j'ai commencé le débogage, le projet a été construit, le déploiement a démarré et le déploiement s'est terminé et il commençait à charger les symboles de mon projet.

Mais c'était très lent et je ne sais pas pourquoi il a commencé à faire cette étape. Qu'est-ce que j'ai pu faire?

Cette étape de chargement de symbole est-elle nécessaire? Comment puis-je le désactiver?

Dans la boîte de dialogue Outils -> Options -> Débogage -> Symboles, aucun emplacement de fichier de symboles (.pdb) n'a été ajouté. Et j'ai indiqué dans le répertoire de débogage de mon projet le champ ci-dessous et j'ai coché la case "Rechercher dans le répertoire ci-dessus uniquement lorsque les symboles sont ....". Comment dois-je configurer cette boîte de dialogue pour désactiver le chargement de symboles?

J'ai regardé dans la fenêtre Modules quels symboles sont chargés, mais cela ne me dit rien. Quel est le problème?

enter image description here

151
arnoldino

Debug -> Delete All Breakpoints ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ). utilisez-les à nouveau, mais faites-le une fois. Cela supprimera également certains points d'arrêt "non valides", puis le chargement des symboles sera rapide. Je poursuivais ce problème pendant des jours :(.

256
peterfoldi

Une autre raison du chargement lent est si vous avez désactivé "Activer uniquement mon code" dans les options de débogage. Pour l'activer, allez à:

Tools -> Options -> Debugging -> General -> Enable Just My Code (Managed Only) 

Assurez-vous que ceci est coché.

112
nietras

Configurez dans Outils, Options, Débogage, Symboles.

Vous pouvez regarder la fenêtre de sortie (vue, sortie) pour voir ce qu’elle fait habituellement. S'il est vraiment lent, cela signifie probablement que le téléchargement des symboles manquants est effectué sur un serveur de symboles, probablement celui de Microsoft. Cela nécessite trois hits HTTP pour chaque fichier qu'il ne peut pas trouver à chaque démarrage - vous pouvez parfois le voir dans la barre d'état en bas ou par exemple. Violoneux. Vous pouvez voir quels modules ont des symboles chargés dans Debug, Windows, Modules pendant le débogage.

Les symboles signifient que vous obtenez des informations utiles sur le suivi de la pile dans des assemblages tiers et système. Vous en avez certainement besoin pour votre propre code, mais je pense que ceux-ci sont chargés indépendamment. Votre meilleur choix est de désactiver toutes les sources de symboles non locales dans ce menu. Si vous chargez un grand nombre de symboles d'assemblages système que vous n'avez pas besoin de déboguer, vous pouvez les désactiver temporairement pour accélérer le démarrage du débogage - mais ils sont souvent utiles d'avoir chargé.

39
Rup

Juste eu ce problème.

Je l'ai corrigé en allant dans:

Outils -> Options -> Mise au point -> Symboles  

Désélectionnez ensuite toutes les sources non locales pour Emplacements du fichier de symboles (.pdb)

par exemple. Serveurs Microsoft Symbol et msdl.Microsoft.com/download/symbols

34
JohnMcC

J'ai fait face à un problème similaire. Dans mon cas, j'avais configuré _NT_SYMBOL_PATH pour le téléchargement à partir de serveurs Microsoft pour une utilisation dans WinDbg et il semble que lorsqu'il est défini, Visual Studio l'utilisera sans aucun moyen de l'ignorer. Supprimer cette variable d'environnement a résolu mon problème.

23
jcarle

Pour moi, cela semble lié aux points de rupture, comme indiqué dans la réponse acceptée. Cependant, j'ai trouvé deux solutions de contournement qui n'impliquaient pas la suppression de tous les points d'arrêt:

  • Le redémarrage de Visual Studio a semblé résoudre le problème temporairement.
  • En cliquant sur le bouton "X" pour fermer Visual Studio pendant le débogage, le message "Voulez-vous arrêter le débogage?" boîte de message à afficher; tant que cette boîte de message est ouverte, les symboles se chargent aux vitesses normales. Une fois que tous les symboles sont chargés, vous pouvez cliquer sur "Non" pour annuler la fermeture.
6
Cameron

référence : social.msdn.Microsoft.com

avec la référence ci-dessus, j'ai trouvé cette solution qui est en quelque sorte un résumé des réponses ci-dessus.

  1. Allez dans Outils -> Options -> Débogage -> Général

  2. Cochez la case en regard de "Activer uniquement mon code".

  3. Allez dans Outils -> Options -> Débogage -> Symboles

  4. Cliquez sur le bouton "..." et créez/sélectionnez un nouveau dossier quelque part sur votre ordinateur local pour stocker les symboles mis en cache. J'ai nommé le mien "Mise en cache de symboles" et l'ai mis dans Documents -> Visual Studio 2012.

  5. Cliquez sur "Charger tous les symboles" et attendez que les symboles soient téléchargés à partir des serveurs de Microsoft, ce qui peut prendre un certain temps. Notez que le bouton Charger tous les symboles n’est disponible que pendant le débogage.

  6. Décochez la case en regard de "Serveurs Microsoft Symbol" pour empêcher Visual Studio d'interroger à distance les serveurs Microsoft.

  7. Cliquez sur OK".

Essayez également de supprimer tous les points d'arrêt (Debug> Supprimer tous les points d'arrêt), 

5
H'H

Je viens de rencontrer ce problème . La suppression des points d'arrêt ne fonctionnait pas, ou du moins pas tout seul . Après cet échec, je me suis rendu dans Outils> Options> Débogage> Symboles et "Cache de symboles vides".

puis nettoyé la solution et reconstruit.

Semble maintenant fonctionner correctement. Donc, si vous essayez toutes les autres choses énumérées, et cela ne fait toujours aucune différence, ces informations supplémentaires peuvent aider.

5
SteveL

J'ai eu le même problème et même après avoir désactivé le chargement du symbole, le chargement du module dans Visual Studio était terriblement lent. 

La solution consistait à désactiver le logiciel antivirus (dans mon cas, NOD32) ou, mieux encore, à y ajouter des exceptions afin qu'il ignore les chemins à partir desquels votre processus charge des assemblys (dans mon cas, il s'agit du dossier GAC et de l'AS temporaire Dossier Fichiers .NET).

2
twoflower

Dans mon cas, Visual Studio recherchait des PDB tiers dans des chemins qui, sur ma machine, faisaient référence à un lecteur optique. Sans disque dans le plateau, il fallait environ 30 secondes environ à Windows pour échouer, ce qui ralentissait Visual Studio alors qu'il tentait de charger les PDB depuis cet emplacement. Plus de détails sont disponibles dans ma réponse complète ici: https://stackoverflow.com/a/17457581/85196

2
Mike

Mes 2 centimes,

J'avais un problème similaire lors de la tentative d'obtention d'un rapport de diagnostics (Visual Studio 2013) en mode Release x64 (échantillonnage de CPU) et lors du chargement des symboles des fichiers dll nécessaires, le chargement des symboles de mon exécutable échouait. 

Je n'ai rien changé dans le menu Symboles, mais à la place, j'ai apporté quelques modifications dans les pages de propriétés du thread de mon exécutable dans l'Explorateur de solutions, à savoir 

Propriétés de configuration/Général/Activer la construction incrémentielle gérée sur YES

Propriétés de configuration/Débogage/Fusionner l'environnement sur NO

Propriétés de configuration/C/C++/Activer les informations de navigation jusqu'à OUI (/ FR)

Propriétés de configuration/Éditeur de liens/Activer la liaison incrémentielle vers YES (/ INCREMENTAL)

EDIT: Ce dernier fait l'affaire

....

Propriétés de configuration/lieur/débogage/ Générer des informations de débogage sur Oui (/ DEBUG)

....

Après cela, cela a fonctionné et les symboles se sont bien chargés ... Je suis sûr qu’un ou plusieurs des éléments ci-dessus ont fait l'affaire pour moi (bien que je ne sache pas exactement lequel) et je veux simplement que les autres le sachent et l'essayent. .

paix

2
user3374479

Essayez de cliquer avec le bouton droit de la souris sur l’un des points d’arrêt, puis choisissez «Emplacement». Cochez ensuite la case "Autoriser le code source à être différent de la version originale"

1
Jeremiah Anthony

Décocher "Activer le débogage JavaScript pour ASP.NET (Chrome et IE)" dans Outils-> Options-> Débogage-> Général a résolu mon cas d'indisponibilité pour lancer le débogueur VS2017 avec des points d'arrêt prédéfinis.

0
Angel D

Options "d'accélération" du symbole de débogage Visual Studio 2017, en supposant que vous ne soyez pas déjà fou de la personnalisation des options:

  1. À Tools -> Options -> Debugging -> Symbols
    une. Activer l'option "Microsoft Symbol Server"
    b. Cliquez sur "Cache de symboles vide"
    c. Définissez votre cache de symboles sur un emplacement facile à trouver, tel que C:\dbg_symbols ou %USERPROFILE%\dbg_symbols
  2. Après avoir ré-exécuté Debug, laissez-le charger tous les symboles une fois, du début à la fin, ou autant que raisonnablement possible. 

1A et 2 sont les étapes les plus importantes. 1B et 1C ne sont que des modifications utiles pour vous aider à garder une trace de vos symboles. 

Une fois que votre application a chargé tous les symboles au moins une fois et que le débogage ne s'est pas terminé prématurément, ces symboles doivent être chargés rapidement lors du prochain débogage.

J'ai remarqué que si j'annule une exécution de débogage, je dois recharger ces symboles, car je suppose qu'ils sont "nettoyés" s'ils sont nouvellement introduits et soudainement annulés. Je comprends la raison d'être de ce type de flux, mais dans ce cas, cela semble mal pensé.

0
kayleeFrye_onDeck