【问题标题】:How do I force the DotNet Framework to use JIT instead of NGEN?如何强制 DotNet 框架使用 JIT 而不是 NGEN?
【发布时间】:2019-06-26 20:57:58
【问题描述】:

我正在调试与在进程中加载​​ DotNet Framework 程序集的本机图像相关的问题,例如System.Windows.Forms.ni.dll 我想阻止这些本机图像加载。有人有什么想法吗?

如果将 SOS 或其他一些 WinDbg 扩展用于托管代码,这可能会很有用。这些工具适用于托管代码,因此您不希望 DotNet Framework dll 被 NGEN 转换为本机图像。

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

谢谢!

【问题讨论】:

    标签: c# .net sos ngen


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-23
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 2020-03-10
      • 2021-12-11
      • 2013-09-09
      相关资源
      最近更新 更多