VC++在 Visual Studio 2010 上:使用调试堆发布版本
我正在对一个缓慢的 C++ 应用程序进行基准测试/优化,在拍摄一些堆栈快照时,我发现我的应用程序的发布版本正在使用调试堆,因为找到的一些堆栈跟踪表明:
ntdll.dll!string "Enabling heap debug options\n"() + 0x11056 bytes
这是一个运行在Windows 7。我在网上看到两三个关于这个问题的投诉,但没有任何回应。
有谁知道为什么 Windows 或 Visual Studio 将调试堆用于发布构建 C++ 项目?
I'm benchmarking/optimizing a slow C++ application, and in taking some stackshots I found that the release build of my application is using the debug heap, as some of the stack traces found would indicate:
ntdll.dll!string "Enabling heap debug options\n"() + 0x11056 bytes
This is a 64-bit application running on Windows 7. I see two or three other complaints about this problem in the exact same environment online, but without any responses.
Does anyone have a clue why Windows or Visual Studio would be using the debug heap for a release build C++ project?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调试堆在以下情况下使用程序在调试器下运行(分析器通常将自己表现为调试器)。为了绕过它,程序应该在不调试的情况下启动,然后调试器应该附加到正在运行的进程。
The debug heap is used when a program is run under debugger (profilers often manifest themselves as debuggers). In order to bypass it the program should be started without debugging, then the debugger should be attached to a running process.