2

我在使用 .Net 4.5 JIT 编译器时遇到了一些问题。如果我在禁用 JIT 优化的情况下编译我的程序集,它运行良好。如果我不这样做,我会收到访问冲突、分段错误或其他一些奇怪的错误。(来自完全托管的代码)。它也只影响.Net 4.5

所以,因为我们直接与 IL 打交道,所以我们真的需要弄清楚是什么 IL 导致它崩溃(所以我们不生成它)。我怀疑(因为它是多线程代码)新的多核 JITting 可能是罪魁祸首。我想缩小范围并获取有关它的更多信息。

JIT 编译器有哪些配置选项?我可以在不完全禁用 JIT 编译的情况下禁用多核吗?我可以使用其他选项来尝试找出导致此问题的原因吗?

4

1 回答 1

0

这是一个相当大的项目。我认为它纯粹是托管代码,但显然有一些非托管部分。问题最终是我们没有正确地将某些东西标记为编组,导致 .Net 4.5 使用内存,因为它更具侵略性,但在 .Net 4 及更低版本中,它会是保守的,不使用它“只是如果”

于 2013-02-26T15:19:18.203 回答