Microsoft已解释说,他们不支持在Visual Studio 2010中的x64 CLR下编辑和继续:
在VS2010 for .NET 4.0中创建新的Visual C#控制台应用程序时,该项目的默认目标设置是以x86平台为目标而不是像Visual Studio 2008那样的任何CPU(MSIL)
[...]
不幸的是,为64位CLR添加了对EnC的真正支持,考虑到将平台目标更改为x86的工作,大型工作项和其他功能优先于此.
(来自http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=455103)
Microsoft Connect上的描述使得64位Edit and Continue看起来好像是一个重大的体系结构更改.我的问题是:x64有什么不同让EnC变得困难?
除了"64位EnC不起作用"之外,我在网络上的技术细节方式上找不到太多东西.
MSa*_*ers 20
编辑并继续要求编译器修补正在运行的可执行文件.这通常通过替换所有改变的函数来完成.显然,其JITted版本也必须被丢弃,并且呼叫者调整到可能的新位置.
这对x64来说并不是特别困难,可能和x86一样难.但与x86不同的是,这还没有为x64做过.x86和x64之间的差异非常大,你不能简单地使用x86 EnC代码并在8中每4个更改一次.
归档时间: |
|
查看次数: |
8218 次 |
最近记录: |