Ash*_*ppa 16 debugging release visual-studio visual-c++
在Release模式下编译代码时,Start Debugging(F5)和Start without Debugging(CTRL- F5)之间有什么区别?
我看到CTRL- F5比F5某些C++代码快10倍.如果我没有错,调试器将附加到执行进程,F5而不是CTRL- F5.由于这是Release模式,编译后的代码没有任何调试信息.所以,如果我没有任何断点,两者的执行时间应该相同,不是吗?!
(假设Release和Debug模式是您在创建新的Visual C++项目时获得的典型配置.)
小智 17
问题是如果Windows检测到您的程序在调试器下运行,则会在特殊的Debug Heap中出现问题.这似乎发生在操作系统级别,并且与编译的任何调试/发布模式设置无关.
您可以通过设置环境变量来解决此"功能":_NO_DEBUG_HEAP = 1
同样的问题让我疯狂了一段时间; 今天我找到了以下内容,从这篇文章中衍生出来:http: //blogs.msdn.com/b/larryosterman/archive/2008/09/03/anatomy-of-a-heisenbug.aspx
"无需调试即可启动"只是告诉Windows启动应用程序,因为它通常会运行.
"从调试开始"启动VS调试器并让它在调试器中运行应用程序.
这与调试/发布构建设置没有太大关系.
当您构建应用程序的默认"调试"配置时,您将与发布版本具有以下主要差异:
这些项目中的每一项都是独立且可选的! 您可以打开或关闭其中的任何一个或全部,并仍在调试器下运行代码,您将无法轻松找到生活.
运行'with debugging'时,由于以下几个原因,执行的操作会有所不同:
归档时间: |
|
查看次数: |
8463 次 |
最近记录: |