为什么我在没有调试的情况下启动调试版本?

fre*_*low 4 c++ debugging visual-studio visual-c++

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

Adr*_*ore 7

调试版本的最大优点(在IDE之外):

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

最大的缺点:

  • 执行速度慢,内存消耗量大,文件大小更大.
  • 除非您使用完全优化编译所有内容,否则一些错误并不明显.这是因为内存分配在发布版本中的工作方式不同.

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