c++ - 为什么我要在不调试的情况下启动调试构建?

标签 c++ visual-studio debugging visual-c++

在没有调试的情况下启动调试构建(相对于没有调试的发布构建)有什么好处吗?当我调试发布版本(而不是调试调试版本)时我错过了什么?

最佳答案

调试构建的最大优势(在 IDE 之外):

  • 断言已启用,您可能已在依赖于调试的预处理程序部分中编译的其他诊断代码也已启用。
  • 堆栈跟踪和变量监视工作正常,因此您可以让 Beta 测试人员向您发送故障转储并稍后在您的 IDE 中进行调试。

最大的缺点:

  • 执行速度较慢,内存消耗较高,文件较大。
  • 有些错误并不明显,除非您在编译所有内容时都进行了全面优化。这是因为内存分配在发布版本中的工作方式不同。

许多公司将调试版本分发给 alpha 和 beta 测试人员,然后切换到发布版本。

关于c++ - 为什么我要在不调试的情况下启动调试构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996506/

相关文章:

c++ - gcc5.1 的新 libstdc++ 可能会分配大堆内存

visual-studio - 从扩展程序运行时如何获取解决方案名称?

c# - 如何更改图表列 C# 中的图例文本?

debugging - 有 IDA Pro 替代品吗?

c - 段错误和使用 Valgrind 进行调试

在 Visual Studio 代码中调试 gulp 运行的 jasmine 测试用例?

c++ - 防止 Core Dump 使用空指针初始化字符串

c++ - 使用 OpenCV 和 C++ 从图像中提取子图像

visual-studio - 当前不会命中断点。没有为该文档加载任何符号

c++ - 在 ‘)’ token G++ 之前预期为 ‘;’