Pourquoi le débogueur VS2010 ne s'arrête-t-il pas à mes points d'arrêt?
Je suis en train de travailler sur un C#.NET projet de bibliothèque de classes dans VS2010. Dans mes paramètres du projet -> paramètres de débogage, j'ai le projet de lancer un programme externe (C:\Windows\SysWOW64\wscript.exe) qui est très simple fichier jscript (test.js). Le script crée simplement une instance de la classe et appelle un de ses méthodes.
Le problème est quand j'ai démarrer le débogage, VS2010 ne s'arrête pas à l'un de mes points d'arrêt. Si j'ouvre le exactement le même projet dans VS2008 il fait arrêter à des points de rupture. Est-il un nouveau paramètre quelque part qui empêche les points d'arrêt de se faire frapper? Quelqu'un d'autre a rencontré ce problème?
source d'informationauteur PICyourBrain
Vous devez vous connecter pour publier un commentaire.
À résolu ce problème en créant un fichier de configuration de l'application qui utilise le composant de déboguer avec les données suivantes:
Avec ce fichier, vous dire le débogueur à utiliser la bonne version du moteur d'exécution pour le débogage (il semble que le débogueur utilise la version 4.0 par défaut).
Mon premier chèque serait de désactiver le "Juste Mon Code"
Essayer le scénario de nouveau.
J'ai essayé une journée entière pour trouver pourquoi je ne pouvais pas déboguer mon visual studio 2012 l'application de la console, et la réponse était embarrassant.
Je courais en mode "RELEASE".
Parfois, l'évidence est la plus difficile à trouver.
Fermer l'IDE de Visual Studio et de l'Ouvrir. Maintenant, il va travailler. Pour moi, il sont également confrontés à la même question. J'ai utilisé ce moyen de surmonter
J'ai eu un "Reconstruit" VS2013 projet que je ne pouvais pas debug (pas de symboles). Enfin, j'ai vu Optimisation a été vérifié (Projet->Propriétés->Build). J'ai décoché et Reconstruit. Chargé des symboles enfin. Mes deux cents, utilisez uniquement (compilation) Optimisation lorsque cela est absolument nécessaire.
Alors que je ne peux pas répondre pourquoi cela arrive, je peux vous fournir une solution de contournement.
Inclure
Au début de votre code (le constructeur de la Classe par exemple) placer les lignes suivantes:
Démarrer le débogage.
point d'arrêt doit déclencher dans votre code.
D'autres points d'arrêt doivent déclencher.
Pourrait être un certain nombre de raisons. Habituellement, c'est parce que vous essayez de déboguer contre la mauvaise version.
Ces actions fonctionnent environ 80% du temps.
Si pas bon, aller Debug > Windows > Modules et si la dll est là, cliquez droit et les symboles de charge.
Si ce n'est pas dans la liste, essayez d'exécuter le code de toute façon. Parfois, même si il est dit que le point d'arrêt ne sera pas touché, c'est parce que la dll n'est pas chargé jusqu'à ce que vous entrez dans un scénario qui en a besoin. Essayez le scénario qui dépend de la dll, et c'est peut frapper le point d'arrêt, de toute façon.
Oh encore une idée, redémarrez votre navigateur. Vous pourriez avoir quelque chose en cache à partir d'une dll plus ancienne.
Si la raison est faux .NET runtime version (ce qui était mon problème), au lieu de créer un fichier de configuration, vous pouvez simplement choisir la bonne version dans le Attacher au processus boîte de dialogue.
Dans la boîte de dialogue, à côté de Joindre à cliquez sur Sélectionnez et de passer de l' Automatiquement... à Déboguer ces types de code où vous devriez vérifier la bonne version.
Si c'était votre problème, alors vous avez probablement eu des Symboles "non chargé" message sur vos points d'arrêt. Immédiatement après la sélection de la bonne version, vous devriez voir que cette erreur n'est plus signalé.
Pour moi, il a été fixé par le:
Ouvrez les propriétés du projet est VS2010
Goto Compiler -> Avancé des Options de Compilation
Changement "Générer les informations de débogage" à partir de "Rien" à "Pleine"
Le problème pourrait être votre navigateur à l'aide d'une version en cache de la page, vous travaillez avec.
Essayez d'ajouter som absurdité supplémentaire de la chaîne de recherche dans votre adresse du navigateur.f.x. ajouter ?Non-sens=1234
Cela force le navigateur à utiliser une nouvelle version de la page web, car il ne sait pas si la page doit look différent avec cette Requête à la fin. La prochaine fois utiliser ?NONSENS=1235.
J'ai eu un problème avec égaré des points d'arrêt dans mon code c++ natif.
La raison est que j'avais été modifiant le code de sorte que certains se termine dans le code n'a pas été \r\n. Il n'était pas possible de voir dans le code, sauf si vous avez effectué une recherche pour \r\n.
Après l'insertion de la ligne se termine \r\n le débogueur travaillé.
J'ai rencontré le même problème mais sa dans une CLR projet. J'ai eu quelques anciens syntaxe c++ dans le CLR projet. Pour moi, après j'ai activé l'Utilisation géré mode de compatibilité " dans Outils>options>le Débogage>Général, il a commencé à frapper les points de rupture.