Visual Studio 2010上的VC ++:使用调试堆发布版本

时间:2011-10-25 06:46:21

标签: c++ visual-studio performance heap

我正在对缓慢的C ++应用程序进行基准测试/优化,并且在进行一些堆栈测试时,我发现我的应用程序的发布版本正在使用调试堆,因为找到的一些堆栈跟踪会指示:

ntdll.dll!string "Enabling heap debug options\n"()  + 0x11056 bytes 

这是在Windows 7上运行的64位应用程序。我在网上完全相同的环境中看到有关此问题的两三个其他投诉,但没有任何回复。

有没有人知道为什么Windows或Visual Studio会将调试堆用于发布版本C ++项目?

1 个答案:

答案 0 :(得分:6)

The debug heap is used when a program is run under debugger(分析器经常表现为调试器)。为了绕过它,程序应该在没有调试的情况下启动,然后调试器应该附加到正在运行的进程。