首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置CorFlags ILLibrary标志的程序集的调试

设置CorFlags ILLibrary标志的程序集的调试
EN

Stack Overflow用户
提问于 2018-10-25 11:31:17
回答 1查看 220关注 0票数 0

我尝试过调试一些ASP.NET核心应用程序。虽然我已经将COMPLUS_ZapDisable环境变量设置为1,并在Visual中选中了“在模块加载上抑制JIT优化”,但由于对其进行了优化,许多框架程序集中的代码很难调试。

进一步研究后,我发现这些程序集设置了CorFlags.ILLibrary标志。这些程序集似乎嵌入了预编译代码。查看反汇编视图,我可以看到这个预编译代码确实正在执行。

我没有找到任何关于这个特性的文档。它的行为类似于NGen-ed程序集,其中本机代码不是在单独的.ni.dll文件中,而是嵌入在原始程序集中。

有谁知道如何创建这样的程序集,以及如何在调试时禁用预封装代码的使用?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-09 14:30:24

我终于找到了答案:

.NET核心使用了一种名为Ready2Run的新的预编译方法。程序集使用CrossGen预编译。生成的程序集设置了CorFlags.ILLibrary标志。

通过将COMPlus_ReadyToRun环境变量设置为0,可以防止运行时使用预编译代码。

最好也将COMPlus_TieredCompilation环境变量设置为0(参见这里这里)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52988259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档