gpt4 book ai didi

.net - 为什么在x64 CLR上无法编辑并继续工作?

转载 作者:行者123 更新时间:2023-12-03 08:41:51 28 4
gpt4 key购买 nike

Microsoft已经解释说,他们将不支持Visual Studio 2010中x64 CLR下的Edit and Continue:

When creating a new Visual C# Console Application in VS2010 for .NET 4.0, the default target settings for the project is to target the x86 platform instead of Any CPU (MSIL) like Visual Studio 2008 does

[...]

Adding true support for EnC to the 64-bit CLR is unfortunately a large work item and other features were prioritized over this given the work around of changing the platform target to x86.



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

Microsoft Connect上的描述使它看起来好像是64位“编辑并继续”是一项重大的体系结构更改。我的问题是: x64有什么不同,这会使EnC变得困难?

除了“64位EnC无法正常工作”之外,我在网络上找不到太多技术细节的方法。

最佳答案

编辑并继续要求编译器修补运行中的可执行文件。通常,通过替换所有更改的功能来完成此操作。显然,其JITted版本也必须被丢弃,并且 call 者必须调整到可能的新位置。

对于x64来说,这并不是特别困难,可能与在x86上一样困难。但是与x86不同的是,x64尚未完全做到这一点。而且x86和x64之间的差异非常大,以至于您不能简单地采用x86 EnC代码并在8中更改每4个。

关于.net - 为什么在x64 CLR上无法编辑并继续工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/955922/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com