【问题标题】:visual studio debug vs release modeVisual Studio 调试与发布模式
【发布时间】:2010-09-30 16:44:07
【问题描述】:

您好,我正在使用 Visual Studio 2010,但我无法弄清楚一件事。我可以在发布模式和调试模式下调试和设置断点。那么这两者有什么区别呢?

【问题讨论】:

标签: visual-studio-2010


【解决方案1】:

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

【讨论】:

  • 这样您就可以在 Visual Studio 中使用发布模式构建项目并对其进行测试,而不必担心跳过断点或得不到调试信息?
【解决方案2】:

这里有更详细的答案Scott Hanselmans Blog

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

【讨论】:

    【解决方案3】:

    新分配的内存包含任意值 - 无论最后碰巧坐在那里。在发布版本中,这是不变的。 VS 中的调试构建将新分配的内存初始化为 0xcdcdcdcd 以标记为“未初始化”。

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

    【讨论】:

      【解决方案4】:

      这是标题为 How to: Set Debug and Release Configurations 的 Microsoft 页面的链接

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

      【讨论】:

        猜你喜欢
        • 2011-09-02
        • 1970-01-01
        • 2013-07-08
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-08
        • 1970-01-01
        相关资源
        最近更新 更多