Comment remédier à l'avertissement "Le point d'arrêt ne sera pas atteint actuellement. Aucun symbole n'a été chargé pour ce document.&quot ; avertissement ?

Application de bureau C# sur l'édition express. Ça a marché puis ça n'a plus marché 5 secondes plus tard.

J'ai essayé ce qui suit.

  • Assurez-vous que la configuration de débogage, l'indicateur de débogage et les informations de débogage complètes sont définis pour tous les assemblages.
  • Supprimer tous les dossiers bin et obj et toutes les DLL liées au projet sur l'ensemble de ma machine.
  • Recréer les projets causant le problème à partir de zéro.
  • Redémarrer.

J'ai deux projets WinForms dans la solution. L'un d'eux charge les informations de débogage, l'autre non. Ils font tous deux référence à l'assemblage sur lequel j'essaie d'obtenir des informations de débogage, exactement de la même manière dans le fichier du projet. Avez-vous des idées ?


Je voudrais ajouter ici, principalement pour moi-même lorsque je reviendrai sur cette question, que les symboles ne sont pas chargés tant que l'assemblage ne l'est pas, et que l'assemblage n'est pas chargé tant qu'il n'est pas nécessaire. Si le point d'arrêt se trouve dans une bibliothèque qui n'est utilisée que dans une seule fonction de votre assemblage principal, les symboles ne seront pas chargés (et le point d'arrêt apparaîtra comme n'ayant pas été atteint) jusqu'à ce que cette fonction soit appelée.

Solution

Commencez à déboguer, dès que vous êtes arrivé à un point d'arrêt ou que vous avez utilisé Debug > Break All, utilisez Debug > Windows > Modules. Vous verrez une liste de tous les assemblages qui sont chargés dans le processus. Localisez celui pour lequel vous voulez obtenir des informations de débogage. Faites un clic droit dessus et sélectionnez Symbol Load Information. Vous obtiendrez une boîte de dialogue qui liste tous les répertoires dans lesquels le programme a cherché le fichier .pdb de l'assemblage. Comparez cette liste avec l'emplacement réel du fichier .pdb. Assurez-vous qu'il ne trouve pas un ancien répertoire.

Dans les projets normaux, l'assemblage et son fichier .pdb devraient toujours avoir été copiés par l'IDE dans le même dossier que votre .exe. Le dossier bin\Debug de votre projet. Assurez-vous de le supprimer du GAC si vous avez joué avec.

Commentaires (33)

Juste quelque chose de simple à essayer - vous l'avez peut-être déjà essayé. Faites un clic droit sur la solution dans l'explorateur de solutions, cliquez sur "nettoyer la solution", cela supprime tous les fichiers compilés et temporaires associés à une solution.

Reconstruisez la solution et essayez de déboguer à nouveau.

J'ai également eu des problèmes avec les points d'arrêt de plusieurs projets dans une solution - certains compilés en x86, d'autres en x64.

Commentaires (8)

Vous devez activer "Generate debug info" dans les paramètres du compilateur.

Commentaires (3)