我在使用.Net 4.5 JIT编译器时遇到了一些问题。如果我在禁用JIT优化的情况下编译我的程序集,它运行正常。如果我不这样做,我会收到访问冲突,分段错误或其他一些奇怪的错误。 (来自完全托管的代码)。它也只影响.Net 4.5
所以,因为我们直接处理IL,我们真的需要弄清楚IL会让它崩溃(所以我们不会生成它)。我怀疑(因为它是多线程代码)新的多核JITting可能是罪魁祸首。我想缩小范围并获得更多相关信息。
JIT编译器有哪些配置选项?我可以在不完全禁用JIT编译的情况下禁用多核吗?我可以使用其他任何选项来追踪导致这种情况的原因吗?
答案 0 :(得分:0)
这是一个相当大的项目。我认为这是纯粹的托管代码,但显然有一些非托管部分。问题最终是因为我们没有正确地将某些东西标记为编组,导致.Net 4.5使用内存,因为它更具攻击性,但在.Net 4及更低版本中,它是保守的而不是使用它“只是如果“