J'ai eu cette chose qui continue de me déranger dans certaines parties du code et je n'ai aucune idée de ce qui le causent.
J'ai un bloc de code où j'ai défini un point d'arrêt. Si j'utilise ensuite mon curseur et survolez sur une variable, je peux généralement naviguer sur le contenu et les valeurs de cette variable. P>
Alors que certaines variables, je ne peux pas voir le contenu, rien n'apparaît. P>
En outre, si j'essaie d'enquêter sur ceux que je ne peux pas via la fenêtre immédiate, il me dit i ' M Vraiment ennuyé à la raison pour laquelle cela se produirait, certains entiers mais pas d'autres, certains objets de classe mais pas d'autres personnes du même type. P> fermeture de Visual Studio et redémarrage ne le répare pas. P> Je cours dans Débogou sans optimisation. P> Juste chercher de l'aide avec ce problème, merci d'avance. P> Voici un exemple du code où il se produit , pas de code spécial ni de délégués. Cela peut également se produire dans des parties aléatoires du programme, même s'il n'y a que quelques lignes de code. P> p> p> le nom "Temp" n'existe pas dans le contexte actuel code> p>
4 Réponses :
Peut-être que les variables ne sont pas encore déclarées ou initialisées dans le bloc de code dans lequel vous avez touché le point d'arrêt (c'est-à-dire que l'exécution n'a pas été aussi loin).
Par exemple, les problèmes de la vitrine et de la fenêtre immédiate que vous avez décrits se produiraient. En ce qui concerne bar code> dans le bloc de code suivant lorsque vous touchez le point d'arrêt: p>
Certainement pas le problème. Je sais que le point d'arrêt est dans le code que je regarde.
Peut-être que oui, @CRAIG WHITE. On l'espérait. :) La loi du parcimonie est souvent à la base de ces problèmes lorsque nous nous sommes convaincus autrement, c'est tout ce que je dis - surtout en code avec des boucles triples triples. Le débogueur semble penser que les variables sont hors de portée et c'est la plupart i> probablement correct.
Également, si j'essaie d'enquêter sur ceux que je ne peux pas par la fenêtre immédiate, il me dit que le nom "Temp" n'existe pas dans le contexte actuel p> blockQuote>
Essayez d'utiliser le nom complet de la méthode p>
Par exemple: P>
NAMESPACE.CLASS.METHOD (); P>
au lieu de p>
classe.method (); p>
Il semble également que la fenêtre immédiate ait une dépendance au fichier / projet sélectionné actuel. P>
J'espère que cela aide Mathias p>
Il éteint la complexité pure de la méthode et le nombre d'entraînements entraînait la question à l'époque. J'ai depuis simplifié et fonctionné une grande partie du code d'origine et je n'ai plus cette question. J'ai également mis à niveau vers VS2012, qui peut également aider. P>
J'ai eu un problème similaire. Je pensais que j'étais dans le débogage mais il y avait une étape plus simple (mais importante). Où "Solutions Configurations" est défini sur "Débogage", je devais également cliquer sur la flèche vers le bas à côté de "Débogage" et sélectionnez "Configuration Manager ...", puis dans la fenêtre contextuelle correspondante "Configuration" était toujours définie sur "Libération" - I Devait changer cela pour "déboguer" et cliquer sur le bouton "Fermer". Rerunning de là m'a permis de voir toutes les variables tout en débogage. P>
Cela pourrait vous aider si vous pouviez poster des échantillons de code qui présentent le comportement.
Code @andrewcooper ajouté.
Et ... où est le point d'arrêt actuel. Et quelles variables pouvez-vous voir et que pouvez-vous ne pas voir?
@Andrewcooper Le point d'arrêt peut être n'importe où dans ce code et autre code. La fonction est longue (~ 400 lignes) et cette partie du code est à l'intérieur d'environ 3 boucles. Il arrive également dans d'autres parties du programme où il n'y a que quelques lignes de code.