2009-06-05 7 views
33

Microsoft han explicado que no va a apoyar Editar y continuar bajo el CLR de 64 bits en Visual Studio 2010:¿Por qué no se edita y continúa trabajando en el x64 CLR?

Cuando se crea una nueva aplicación de consola de Visual C# en VS2010 para .NET 4.0, la configuración por defecto para el objetivo el proyecto es apuntar a la plataforma x86 en lugar de cualquiera de las CPU (MSIL) como Visual Studio 2008 hace

[...]

Adición de un verdadero apoyo para ENC para el CLR de 64 bits es por desgracia un elemento de trabajo grande y otras características se priorizaron sobre esto dado el trabajo de cambiar el objetivo de la plataforma a x86.

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

La descripción en Microsoft Connect hace que parezca como si 64 bits Editar y continuar es un cambio de arquitectura importante. Mi pregunta es: ¿qué tiene de x64 que hace difícil EnC?

No he podido encontrar muchos detalles técnicos en la web, aparte de que "EnC de 64 bits no funciona".

+2

Blog del 26 de junio de 2013: http://blogs.msdn.com/b/dotnet/archive/2013/06/26/announcing-the-net-framework-4-5-1-preview.aspx '" Ahora tenemos x64 Edit and Continue (EnC) disponible en Visual Studio 2013 Preview "' – gmaran23

Respuesta

19

Editar y continuar requiere que el compilador revise un ejecutable en ejecución. Esto se hace típicamente reemplazando todas las funciones alteradas. Obviamente, las versiones JITted de las mismas deben descartarse también, y las personas que llaman se adaptaron a ubicaciones posiblemente nuevas.

Esto no es especialmente difícil para x64, probablemente tan difícil como en x86. Pero a diferencia de x86, esto simplemente no se ha hecho todavía para x64. Y las diferencias entre x86 y x64 son lo suficientemente grande que no se puede simplemente tomar el código x86 EnC y cambiar cada 4 en un 8.

+5

Esa es una explicación plausible.Pero dado que VS2005, VS2008 y ahora VS2010 han tenido EnC de 32 bits funcionando, y cada uno de estos nuevos frameworks e IDE ha tenido una variedad de funcionalidades nuevas e impresionantes en otras áreas, me pregunto si no podrían haber encontrado un poco de tiempo para gastar en EnC de 64 bits. –

+15

La depuración correcta de x64 ha estado "llegando" desde que se anunció por primera vez VS2005. Hasta ahora, hemos visto 3 versiones principales de IDE y los desarrolladores de 64 bits todavía son tratados como ciudadanos de segunda clase. – nathanchere

+4

Haz que cuatro; VS2012 tampoco lo admite. –

4

Este blog se expande en lo MSalters dijeron: http://blogs.msdn.com/rmbyers/archive/2009/06/08/anycpu-exes-are-usually-more-trouble-then-they-re-worth.aspx

Básicamente, Microsoft está más interesado en mejorar las herramientas de depuración x86 (por ejemplo, Intellitrace) que en mejorar las herramientas de depuración x64. Esto es bastante preocupante ya que parece que Intellitrace también tendrá que ser portado a x64 en algún momento, lo que probablemente retrase aún más las mejoras en la depuración x64.

0

Parece que el nuevo .NET framework es compatible con esto. A partir de datos de la sección .NET Framework 4.5.1 Preview

.NET Framework 4.5.1 Vista previa ... incluye estos significativas mejoras ...:

...
64 bits Editar y continuar
..

Todavía no funciona en Visual Studio 2012 con .NET 4.5.1 Vista previa instalada.

Cuestiones relacionadas