Why doesn't Edit and Continue work in the X64 CLR?

Microsoft explained that they will not support editing and continuing in the x64 CLR in Visual Studio 2010:

When creating a new Visual C # Console application in VS2010 for .NET 4.0, the target default settings for the project focus on the x86 platform instead of Any CPU (MSIL), such as Visual Studio 2008,

[...]

Adding true EnC support to the 64-bit CLR is unfortunately a big work item, and other features were prioritized when working around changing the target platform of the x86 platform.

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

The description in Microsoft Connect looks as if 64-bit Edit and Continue are a major architectural change. My question is: what is different from x64, what makes EnC more difficult?

I was not able to find a lot of information about technical details on the Internet, except for "64-bit EnC does not work."

+33
64bit
Jun 05 '09 at 13:43
source share
3 answers

“Edit and continue” requires the compiler to fix the executable executable. This is usually done by replacing all changed functions. Obviously, their JIT versions should also be dropped, and callers tuned to new locations.

This is not particularly difficult for x64, perhaps about as complicated as on x86. But unlike x86, it's just not done for x64 yet. And the differences between x86 and x64 are big enough that you can't just take the EnC x86 code and change every 4 to 8.

+19
Jun 05 '09 at 14:15
source share

This blog post extends what MSalters said: http://blogs.msdn.com/rmbyers/archive/2009/06/08/anycpu-exes-are-usually-more-trouble-then-they-re-worth .aspx

Basically, Microsoft is more interested in improving x86 debugging tools (like Intellitrace) than improving x64 debugging tools. This is quite alarming, as it seems that Intellitrace will also have to port to x64 at some point, which is likely to further slow down x64 debugging.

+4
Apr 7 '10 at 6:33
source share

It looks like it supports the new .NET platform. From the details section of the .NET Framework 4.5.1 Preview

The following significant ... enhancements are included in the .NET Framework 4.5.1 Preview ...

...
64-bit editing and continued
...

Still not working in Visual Studio 2012 with .NET 4.5.1 installed.

0
Aug 28 '13 at 12:55 on
source share



All Articles