为什么_mainCRTStartup在启用调试时速度很慢,但调试速度很快?

时间:2011-03-24 22:33:22

标签: c++ winapi glut

我在64位Windows 7和Visual Studio 2010上使用32位GLUT。该项目只包含我的C ++实现和头文件。没有特定于Win32的代码。

我做了很多像素绘制操作。它与发布配置一起即时,但在调试配置下非常慢(至少需要5秒)。当我画得更多时,我注意到它的速度减慢了。所以我想,描述一下。

Visual C ++分析器说_mainCRTStartup花费了100%(我猜这是四舍五入)的时间。我知道这是C运行时,但是什么导致它在调试配置中运行得如此之慢?在调试和发布配置中,等效的C代码同样是瞬时的。 C ++有什么特别之处让_mainCRTStartup需要更长的时间吗?

编辑:显然我忽略了一件事:在_mainCRTStartup框架下,有一个对Unknown frame(s)的引用。我假设这是main()及其子函数。我无法在调试或发布中实际编写我编写的函数。我在哪里去了?

3 个答案:

答案 0 :(得分:1)

调试器可能无法找到您使用的DLL的.pdb文件。首先要检查您的符号服务器设置。工具+选项,调试,符号。取消选中符号文件位置,然后重试。

答案 1 :(得分:0)

_mainCRTStartup中的“独占%样本”是什么?包容性样本对于这个例程毫无价值。

答案 2 :(得分:0)

_mainCRTStartup是调用main的主要功能。所以是的,对于每个程序,100%的时间都花在了该函数中 - 因为它调用了所有其他函数。

您正在分析调试模式?为什么?

相关问题