2009-06-05 9 views
33

Microsoft hat erklärt, dass sie nicht bearbeiten unterstützen und unter dem x64 CLR Weiter in Visual Studio 2010: Die Standardzieleinstellungen für .NET 4.0 eine neuen Visual C# -Konsole-Anwendung in VS2010 zu schaffen fürWarum funktioniert Edit and Continue nicht auf der x64 CLR?

Wenn, das Projekt ist die x86-Plattform statt einer CPU (MSIL) wie Visual Studio 2008 hat

[...]

Hinzufügen echte Unterstützung für EnC auf die 64-Bit-CLR Ziel ist leider eine große Workitem und andere Funktionen wurden priorisiert, wenn man das Platform Target auf x86 umstellt.

(von http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=455103)

Die Beschreibung auf Microsoft Connect macht es, als ob 64-Bit bearbeiten erscheinen und weiter ist eine große architektonische Veränderung. Meine Frage ist: Was unterscheidet sich von x64, die EnC schwierig macht?

Ich konnte nicht viel in der Art von technischen Details im Web finden, außer "64-Bit-EnC funktioniert nicht".

+2

Blog vom 26. Juni 2013: http://blogs.msdn.com/b/dotnet/archive/2013/06/26/announcing-the-net-framework-4-5-1-preview.aspx " Wir haben jetzt x64 Edit und Continue (EnC) in Visual Studio 2013 Vorschau " – gmaran23

Antwort

19

Edit and Continue erfordert, dass der Compiler eine laufende ausführbare Datei patcht. Dies wird typischerweise durch Ersetzen aller geänderten Funktionen erreicht. Offensichtlich müssen die JITted-Versionen davon ebenfalls verworfen werden, und Anrufer müssen auf möglicherweise neue Standorte eingestellt werden.

Dies ist nicht besonders schwierig für x64, wahrscheinlich etwa so hart wie auf x86. Aber im Gegensatz zu x86 wurde dies für x64 noch nicht getan. Und die Unterschiede zwischen x86 und x64 sind groß genug, dass Sie die x86 EnC Code nicht einfach nehmen und alle 4 in einem 8.

+5

Das ist eine plausible Erklärung.Aber da VS2005, VS2008 und jetzt VS2010 über 32-Bit-EnC verfügten und jedes dieser neuen Frameworks und IDEs in anderen Bereichen über eine beeindruckende neue Funktionalität verfügte, fragte ich mich, ob sie nicht ein wenig Zeit dafür hätten finden können Ausgaben für 64-Bit-EnC. –

+15

Korrektes x64-Debugging ist seit der Ankündigung von VS2005 "angesagt". Bisher haben wir 3 große IDE-Versionen gesehen und 64-Bit-Entwickler werden immer noch wie Bürger zweiter Klasse behandelt. – nathanchere

+4

Machen Sie das vier; VS2012 unterstützt es auch nicht. –

4

Dieser Blog-Eintrag erweitert ändern auf welchem ​​MSalters sagte: http://blogs.msdn.com/rmbyers/archive/2009/06/08/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx

Grundsätzlich Microsoft ist mehr an der Verbesserung der x86-Debugging-Tools (z. B. Intellitrace) als an der Verbesserung der x64-Debugging-Tools interessiert. Dies ist ziemlich besorgniserregend, da es so aussieht, als müsste Intellitrace irgendwann auch auf x64 portiert werden, was die Verbesserungen für das x64-Debugging wahrscheinlich weiter verzögern wird.

0

Scheint so, als ob das neue .NET Framework dies unterstützt. Von Details Abschnitt .NET Framework 4.5.1 Preview

Die Preview 4.5.1 .NET Framework ... enthält diese bedeutenden Anteil ... Erweiterungen:

...
64-Bit bearbeiten und
Weiter .. .

Funktioniert immer noch nicht in Visual Studio 2012 mit .NET 4.5.1 Preview installiert.

Verwandte Themen