Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 VisualStudio调试与发布模式_Visual Studio 2010 - Fatal编程技术网

Visual studio 2010 VisualStudio调试与发布模式

Visual studio 2010 VisualStudio调试与发布模式,visual-studio-2010,Visual Studio 2010,大家好,我正在使用VisualStudio2010,我想不出一件事。我可以在发布模式和调试模式下调试和设置断点。那么这两者之间有什么区别呢?区别在于编译器在发布模式下应用的优化。如果您有PDB文件,并且默认情况下,即使在发布模式下也会生成断点,则可以放置断点。新分配的内存包含任意值-无论上次在那里发生了什么。在发布版本中,这是未触及的。VS中的调试构建将新分配的内存初始化为0xcdcdcdcd to标志为“未初始化” 为什么发布版本会用垃圾填充内存以使调试更容易?发布模式就是这样——实际发布的额

大家好,我正在使用VisualStudio2010,我想不出一件事。我可以在发布模式和调试模式下调试和设置断点。那么这两者之间有什么区别呢?

区别在于编译器在发布模式下应用的优化。如果您有PDB文件,并且默认情况下,即使在发布模式下也会生成断点,则可以放置断点。

新分配的内存包含任意值-无论上次在那里发生了什么。在发布版本中,这是未触及的。VS中的调试构建将新分配的内存初始化为0xcdcdcdcd to标志为“未初始化”


为什么发布版本会用垃圾填充内存以使调试更容易?发布模式就是这样——实际发布的额外开销最小。

下面是关于


但问题的根源在于,代码经过了更多的优化编译,您仍然可以通过创建pdb文件进行调试。

这里有一个指向Microsoft页面的链接,标题为


它讨论了调试和发布之间的区别。在页面顶部,您可以选择Visual Studio的不同版本。

这样,您就可以在Visual Studio中构建项目并使用发布模式对其进行测试,而不用担心跳过断点或获取调试信息?可能重复