Visual Studio调试模式与发布模式的区别

6

你好,我正在使用Visual Studio 2010,但有一件事我弄不明白。我可以在发布模式和调试模式下进行调试并设置断点,那么这两种模式有什么区别呢?


可能是.NET中的Debug和Release问题的重复。 - nawfal
4个回答

8

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


那么你可以在Visual Studio中使用发布模式构建项目并进行测试,而不必担心跳过断点或无法获取调试信息? - Rumplin

5

这里有一篇更详细的关于Scott Hanselman博客的答案。

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


3
新分配的内存包含任意值 - 无论最后一次停留在哪里。在发布版本中,这是不受影响的。在VS的调试版本中,新分配的内存会被初始化为0xcdcdcdcd,以标记其为“未初始化”。为什么一个发布版本会填充内存垃圾以便于调试呢?发布模式只是为实际发布提供最小的额外开销。

0

这里有一个链接,指向一个名为如何设置调试和发布配置的微软页面。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接