2008-09-12 5 views
2

J'ai une application Web C# asp.net. Les points d'arrêt dans la couche de base de données n'arrêtent plus l'exécution mais les points d'arrêt dans la couche d'interface utilisateur fonctionnent toujours correctement. Quelqu'un peut-il hasarder une supposition pourquoi cela pourrait se produire?Pourquoi les points d'arrêt dans VS2008 cessent-ils de fonctionner?

J'ai vérifié tous les suspects habituels (Debug est pour tous les projets) et recompilé tous les projets en solution ...

Répondre

0

Avez-vous essayé de supprimer vos répertoires bin avant de recompiler?

1

Je m'assurerais que la couche d'interface utilisateur fait référence au fichier .dll 'debug' approprié. Je considérerais également en appuyant sur CTRL + ALT + U (Modules View) lorsque vous déboguez pour voir si les symboles sont chargés pour vos fichiers .dll BLL et DAL. Si ce n'est pas le cas, Visual Studio ne peut pas trouver les fichiers .PDB pour ce fichier. Déboguez-vous les fichiers (.PDB) dans le même répertoire que les fichiers .dll référencés depuis la fenêtre Modules?

1
  • attacher le débogueur processus ASP.NET et cliquez sur la fenêtre de modules. Assurez-vous que les symboles de débogage sont chargés pour les assemblys que vous souhaitez déboguer.
  • Assurez-vous que l'interface utilisateur fait référence aux assemblys de débogage et non aux assemblages.
  • Assurez-vous que les fichiers .PDB se trouvent dans le répertoire/bin/debug/
  • Assurez-vous de reconstruire l'intégralité de la solution avant d'attacher le débogueur.
  • Si le niveau de données est dans une solution séparée, ajoutez le projet à la SLI de l'interface utilisateur (vous n'avez pas besoin d'ajouter une référence, ceux-ci doivent déjà être établis ou votre code ne compile pas). tirez le code complet.
1

Merci pour les réponses et les idées des gars - j'avais déjà essayé tous ceux ou leurs variantes. Je pense que ce doit être un bogue VS très subtile. Un collègue m'a suggéré de rendre publique la fonction que j'essayais de percer (auparavant "indéfinie" était implicitement privée) et de réessayer. Je l'ai fait et le point d'arrêt a commencé à être touché. J'ai ensuite supprimé le mot-clé public et le point d'arrêt a continué à être touché. Aucune idée de pourquoi cela l'a résolu mais ça l'a fait.

Merci pour votre aide!

1

Quelques suggestions. La première consiste à vérifier l'état du point d'arrêt dans la ligne source. Est-ce une boule rouge solide? Sinon, cela indique généralement que le fichier en question n'est pas celui utilisé pour la construction. Deuxièmement - jetez un oeil à la vue des modules et voyez quels modules et symboles ont été chargés. Vous pouvez trouver que ce n'est pas ce que vous attendez.

Quant à pourquoi - je n'en ai aucune idée!

Nick

0

J'ai eu le même problème et ne cessait de penser « qu'est-ce que je change en web.config » potentiellement faire cela?

<location path="." inheritInChildApplications="false"> 

Cela ne permettait pas aux points d'arrêt de fonctionner pour moi.

Questions connexes