c# - Comment puis-je remédier à la "Le point de rupture ne sera pas actuellement touché. Aucun symbole n'a été chargé pour ce document. "Warning?




.net visual-studio (20)

Au lieu de faire toutes ces choses juste

Fermez et rouvrez

la solution, il va résoudre le problème

Application de bureau C # sur l'édition express. Travaillé alors n'a pas fonctionné 5 secondes plus tard.

J'ai essayé ce qui suit.

  • Vérifiez que la configuration du débogage, l'indicateur de débogage et les informations de débogage complètes sont définis sur tous les assemblys.
  • Supprimez tous les dossiers bin et obj et toutes les DLL liées au projet de ma machine entière.
  • Recréer des projets causant le problème à partir de zéro.
  • Redémarrez.

J'ai deux projets WinForms dans la solution. L'un d'eux charge l'information de débogage, l'autre ne le fait pas. Ils se réfèrent tous deux à l'assemblage que j'essaie d'obtenir des informations de débogage exactement de la même manière dans le fichier de projet. Des idées?

Je veux ajouter ici, surtout pour moi-même quand je reviens sur cette question, que les symboles ne sont pas chargés tant que l'assemblage n'est pas chargé et que l'assemblage n'est pas chargé tant que cela n'est pas nécessaire. Si le point d'arrêt est dans une bibliothèque qui n'est utilisée que dans une fonction de votre assembly principal, les symboles ne seront pas chargés (et le point d'arrêt sera affiché comme n'étant pas touché) jusqu'à ce que cette fonction soit appelée.


Aucune de ces réponses n'a résolu mon problème. J'ai essayé une autre chose basée sur le fait que le projet avec l'arrêt n'était pas en réalité le projet chargé. J'ai trouvé que Hans Passant a écrit que le .dll où je veux arrêter le débogueur et les fichiers associés .pdb où copié près du fichier .exe. Ces fichiers ont eu une date plus ancienne, donc je pensais qu'ils n'étaient pas mis à jour dans l'exécution. Je les ai supprimés manuellement, Visual Studio crée une autre paire ET met cette nouvelle paire près du fichier .exe. Maintenant, le breakpoins fonctionne!

Peut-être que Visual Studio ne peut pas copier et remplacer les fichiers existants (.dll et .pdb) près du fichier .exe car il y en a un autre. Donc, si j'ai supprimé manuellement alors VS pourrait créer un nouveau près de .exe.

Je pense qu'un autre changement (vérifie et ainsi de suite - d'une autre réponses) a déclenché quelque chose et Visual Studio a copié et remplacé le dll et le pdb du dossier de projet dans le dossier près de l'exe, ainsi c'était une solution.

Je pense que la cause première du problème est que Visual Studio utilise un autre fichier en cours d'exécution, pas le fichier du projet, avec l'arrêt.

Peut-être cette réponse pour aider quelqu'un!


Choses à vérifier pour être clair: Assurez-vous que la configuration est réglée sur 'Debug' et non sur 'Release'. Vous pouvez déboguer le projet de démarrage en mode 'Release', mais pas une bibliothèque de classes référencée.


Commencez le débogage, 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 assemblys qui sont chargés dans le processus. Localisez celui pour lequel vous souhaitez obtenir des informations de débogage. Cliquez avec le bouton droit sur celui-ci et sélectionnez Informations de chargement de symbole. Vous obtiendrez une boîte de dialogue qui répertorie tous les répertoires où il a recherché le fichier .pdb pour l'assembly. Vérifiez cette liste par rapport à l'emplacement réel .pdb. Assurez-vous qu'il ne trouve pas un ancien.

Dans les projets normaux, l'assembly et son fichier .pdb doivent toujours avoir été copiés par l'EDI dans le même dossier que votre fichier .exe. Le dossier bin \ Debug de votre projet. Assurez-vous d'en avoir retiré un du GAC si vous avez joué avec.


Désactivez l'option "Just My Code" dans les paramètres Debug / General.


Dans mon cas, "Optimize Code" a été vérifié dans mes propriétés de projet. Cela a amené VS à voir mon assembly comme "pas mon code", et à son tour, il n'a pas chargé de symboles pour cela.

La solution était de décocher cela.


Essayez d'exécuter Visual Studio en tant qu'administrateur dans Windows.


J'ai également eu le même problème ce que je reconstruis toute la solution (y compris les projets référés) en x86 (ou x64)

Même si j'ai défini tous mes projets sur x86 à partir de Configuration Manager (Build-> ConfigManager) certains de mes projets n'étaient pas définis sur x86.

Donc, juste pour vous assurer que le clic droit sur projet-> propriétés-> onglet Déboguer, vérifiez la configuration et la plate-forme.


J'ai essayé tout ce qui est mentionné ci-dessus, mais rien n'a fonctionné. [Nettoyez la solution et vérifiez les fichiers PDB, etc.]

Même publier la même solution n'a pas résolu le problème.

Puis je suis retourné à ce que je fais habituellement pour résoudre (tromper ce Visual Studio têtu)

Tout ce que j'ai fait était de faire un changement délibéré de code et de publier la solution. Puis j'ai inversé le changement et publié à nouveau.

Voila [fichiers PDB débarrasser des esprits maléfiques] .. Pas une résolution intelligente, mais cela a fonctionné ..: - |


J'ai essayé tout cela et je n'ai pas réussi à faire fonctionner mon point de rupture ...

Ce que j'ai fait pour résoudre ce problème était

Dans la page où mon point d'arrêt ne fonctionnait pas, j'ai sélectionné le dossier> ajouter un élément existant, puis sélectionner la page dans son chemin de sauvegarde. Cela a permis au point de rupture de commencer à fonctionner.


J'intégrait une application C # avec une bibliothèque statique utilisant VS10 - pour laquelle je suis nouveau. J'ai écrit un code managé DLL pour les interfacer. Je pourrais définir des points d'arrêt partout, sauf la bibliothèque statique. J'ai reçu le message décrit ci-dessus - aucun symbole n'a été chargé pour ce document. J'ai essayé plusieurs des suggestions ci-dessus. Je pouvais voir que les symboles n'étaient pas chargés. J'ai finalement remarqué une case à cocher Configuration Debug, Activer le débogage de code non managé. Cela m'a permis de définir des points d'arrêt dans les fonctions de lib statique.


Je sais que j'ai des années de retard, mais je pensais que j'avais fait quelque chose de mal et j'ai suivi les étapes ci-dessus, puis j'ai réalisé que je définirais la configuration de la solution sur 'Release' par erreur :)


L'option "Démarrer le débogage, Debug + Windows + Modules" n'existe pas dans l'édition Microsoft Visual Studio Express 2013.

Décocher "Utiliser le mode de compatibilité géré" dans Outils Options Le débogage corrige cela.


La réponse choisie m'a conduit à résoudre mon problème. Mais j'ai besoin de faire quelques choses de plus:

Même avec "Debug" sélectionné dans la liste déroulante:

Et dans le projet Propriétés> Construire:

Visual Studio ne chargeait pas de symboles dans un projet spécifique. Donc, dans cette liste déroulante, je sélectionne "Configuration Manager" et j'ai vu que les paramètres de mon projet Web étaient incorrects:

Ensuite, j'ai mis cela à "Debug" et il a commencé à générer le fichier .pdb . MAIS j'ai besoin de copier manuellement le PDB et la DLL et de mettre dans le dossier que VS cherchait (voici où la réponse choisie m'a aidé):


Parfois, même si cela vous donne cette erreur, le breakpoint toujours touché, alors ignorez simplement l'erreur. Cela arrive assez souvent dans les Views d'une MVC web app .


Pour une application ASP.Net, vérifiez les propriétés du site, onglet ASP.NET. Assurez-vous que la version ASP.NET correcte est sélectionnée.


Vérifiez si votre fichier .pbd est manquant dans votre dossier bin / Debug. Si c'est alors allez dans "Propriétés" de votre projet, sélectionnez "Construire" puis "Avancé" en bas. Choisissez "full" sous "Informations de débogage" dans la nouvelle fenêtre qui apparaît. C'était mon problème et résolu pour moi.


Vérifiez simplement si votre solution est en mode Release.


Webapplications (IIS Express) uniquement:

  • Cliquez avec le bouton droit sur IIS Express Tray et fermez IIS.
  • Solution propre


cela m'est arrivé après copier coller un autre fichier asmx webservice dans un webservice existant, résultant de la même erreur lors de la tentative de déboguer le service récemment ajouté, pour pouvoir déboguer je devais commencer sans déboguer, puis attacher au processus. C'est bizarre mais c'est la seule façon que j'ai trouvé pour pouvoir déboguer.





breakpoints