Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Visual studio 2010 为什么调试模式比VS中的发布慢?_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 为什么调试模式比VS中的发布慢?

Visual studio 2010 为什么调试模式比VS中的发布慢?,visual-studio-2010,Visual Studio 2010,我已经在谷歌上搜索过了,通常回复相当复杂,我不太懂所有的行话。有没有一个简单的解释来解释为什么调试模式这么慢?为什么不总是在发行版中运行?调试模式已关闭所有优化,以确保连接的调试器按预期工作。一个发行版将开启许多优化 更简单的是,我不能说。在某些情况下,优化会干扰代码的执行吗?是的。死代码将被删除,循环可以被优化,等等。但这不属于“简单解释”范畴;-)。调试版本和发布版本之间有许多细微的不同。除了Bart提到的那些,还有调试堆、变量的零初始化、由于速度差异可能出现的争用条件、仅使用诊断调试代码等

我已经在谷歌上搜索过了,通常回复相当复杂,我不太懂所有的行话。有没有一个简单的解释来解释为什么调试模式这么慢?为什么不总是在发行版中运行?

调试模式已关闭所有优化,以确保连接的调试器按预期工作。一个发行版将开启许多优化


更简单的是,我不能说。

在某些情况下,优化会干扰代码的执行吗?是的。死代码将被删除,循环可以被优化,等等。但这不属于“简单解释”范畴;-)。调试版本和发布版本之间有许多细微的不同。除了Bart提到的那些,还有调试堆、变量的零初始化、由于速度差异可能出现的争用条件、仅使用诊断调试代码等。调试版本明显较慢的主要原因之一是因为这些额外的诊断。至于为什么要在调试中运行,这是因为这些额外的诊断正在做很多有用的事情,帮助您捕获程序中的错误,从而使您有更多的机会发布构建工作。不要因为调试版本太慢或出现错误而试图跳过它。Bart,你能谈谈调试符号和PDB,以及这是否与发布版本运行速度快于调试版本有关吗