如何强制DotNet框架使用JIT代替NGEN?

时间:2019-06-26 20:57:58

标签: c# .net sos ngen

我正在调试与在过程中加载DotNet Framework程序集的本机映像有关的问题,例如System.Windows.Forms.ni.dll 我想停止加载这些本机图像。任何人有任何想法吗?

如果对托管代码使用SOS或某些其他WinDbg扩展,则可能会有用的另一种情况。这些工具适用于托管代码,因此您不希望NGEN将DotNet Framework dll转换为本地映像。

参考:https://docs.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过将环境变量COMPLUS_ZapDisable设置为1来禁用NGEN图像加载。使用此变量,.Net应该加载原始程序集而不是本机图像。但这会减慢一切,因为.Net需要将来自框架程序集的所有代码进行JIT。

查看本文:https://blogs.msdn.microsoft.com/sburke/2008/01/29/how-to-disable-optimizations-when-debugging-reference-source/