Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 抑制模块加载时的JIT优化(仅限托管)_C#_.net_Visual Studio_Jit_Compiler Optimization - Fatal编程技术网

C# 抑制模块加载时的JIT优化(仅限托管)

C# 抑制模块加载时的JIT优化(仅限托管),c#,.net,visual-studio,jit,compiler-optimization,C#,.net,Visual Studio,Jit,Compiler Optimization,如果我在VS中运行版本构建,但附加了调试器。因此,我可以设置断点并研究优化的代码反汇编。通常,为了查看所有优化,我需要在运行时不附加调试程序并将其分离到正在运行的进程 在Visual Studio中取消选择“在模块加载时抑制JIT优化(仅限托管)”开关是否足以产生相同的结果?我所说的“相同结果”是指:与启动时没有附加调试程序相同(优化)的机器指令 我听说JIT编译器只会利用所有优化选项,如果程序集是发布版本,并且没有附加调试程序。现在我想知道这个开关是否可以使我的调试/检查更容易 调试版本和发布

如果我在VS中运行版本构建,但附加了调试器。因此,我可以设置断点并研究优化的代码反汇编。通常,为了查看所有优化,我需要在运行时不附加调试程序并将其分离到正在运行的进程

在Visual Studio中取消选择“在模块加载时抑制JIT优化(仅限托管)”开关是否足以产生相同的结果?我所说的“相同结果”是指:与启动时没有附加调试程序相同(优化)的机器指令


我听说JIT编译器只会利用所有优化选项,如果程序集是发布版本,并且没有附加调试程序。现在我想知道这个开关是否可以使我的调试/检查更容易

调试版本和发布版本之间的IL差别很小,因此您确实希望在这种情况下使用发布版本(即,所有DEBUG.XXX调用都在发布版本中编译)


取消选中“在模块加载时抑制JIT优化(仅限托管)”应允许JIT优化,就像没有附加调试程序一样。我不知道这两种情况之间有什么区别。

因为它无法明确任何规则。我试过了,它似乎也这么做了。但我不知道这是否是行为的定义。