Passez à 64 bits non autorisé lorsque vous essayez d’éditer en mode débogage, pourquoi
-
03-07-2019 - |
Question
Je reçois ce message (voir l'image ci-dessous) lorsque j'essaie de le modifier en débogage. Cela se produit uniquement dans mon système d'exploitation Vista64bits, pas dans mon ordinateur XP. Pourquoi et que dois-je faire?
Mettre à jour J'ai constaté que je devais compiler en x86 pour pouvoir modifier la valeur lors du débogage. Donc ma question est pourquoi je ne peux pas le faire en x64?
texte de remplacement http://img183.imageshack.us/img183/8523/changetohe5 .png
La solution
Il n'y a pas de raison technique, c'est tout simplement pas implémenté. Selon certaines sources, Microsoft voudrait le mettre en œuvre d’ici la prochaine version du CLR.
Voir: http://blogs.msdn.com/stevejs/ archive / 2005/11/15 / 493018.aspx # 499593
Autres conseils
Mike Stall dit :
EnC fait des choses très basses qui sont assez spécifiques à l'OS et ainsi se limiter à une seule plate-forme était principalement une contrainte de ressources. Les futurs CLR élargiront sans aucun doute ce phénomène. Notre effort de portage a également commencé à scratch dans V2, et ainsi tout le reste de les services de débogage devaient être porté aussi, donc nous avons déjà eu un très gros article ici. En outre, nous croyons que le les plus grands scénarios pour EnC seraient tourner autour des applications pure-IL qui permettent les gens à développer au moins en x86. Il y a une solution de contournement dans de tels cas: sur une machine 64 bits, vous pouvez lancer un application pure-IL en tant qu'application 32 bits dans le WOW, puis faites EnC dessus.
Ce sont toutes les limitations du CLR, pas Visual Studio, ce qui signifie que si un Débogueur tiers ajoute EnC, ils vont avoir les mêmes restrictions. Dans tout cas, nous nous sommes sentis heureux que le la coût d'activation de chaque cas était mieux passé à faire les scénarios de base plus fort.
Je change le gestionnaire de configuration. C'était en train de Compiler vers n'importe quel Cpu ... et Any Cpu était réglé sur x64 ... J'ai changé Any Cpu en x86 et ça marche. Donc, le problème est résolu ...
Quelqu'un peut-il me dire pourquoi, en X64, nous ne pouvons pas éditer en mode débogage? (J'accepterai la réponse à cette sous-question si quelqu'un le possède).
Vraisemblablement, ils n’ont tout simplement pas encore implémenté d’éditer-continuer pour le code x64. Je ne pense pas qu'il y ait une raison plus profonde à cela.