Visual Studio调试器会降低内联代码的速度
时间:2020-03-06 14:46:43 来源:igfitidea点击:
自从vs2005升级到Visual Studio 2008之后,在调试大型项目时发现了一个非常烦人的行为。如果我尝试进入内联代码,调试器似乎会锁定数十秒钟。每当我进入此类功能时,都会有类似的停顿。有没有人遇到过这种情况,并且有人知道可以解决吗?
后记:
在得知MS具有针对vs2008的Service Pack并由于其他编译问题而需要获得该Service Pack后,我与调试器一起遇到的问题得到了解决。
解决方案
在调试ASP.NET应用程序时会出现这样的延迟,并且似乎是在后台访问symbol(pdb)文件时发生的。库越大,等待时间越长。我的延迟最多约为10秒,但似乎确实发生在已被访问的符号上。
当我尝试越过导致VS给我"具体步骤"消息的项目时,我确实得到了1-3秒的等待时间(http://blogesh.wordpress.com/category/visual-studio-2008/ #3)。也许这可能会给我们带来真正的打击。
我曾经得到这个,我认为这是"自动"调试窗口中的一个错误:
http://social.msdn.microsoft.com/Forums/zh-CN/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/
作为一种解决方法,我们可以将以下内容用于调试目的:
#ifdef _DEBUG #define INLINE #else #define INLINE inline #endif
为了更加简洁,我们可以将函数放在单独的.inc文件中,该文件包含在头文件或者cpp文件中,具体取决于构建类型。
值得一看的是,Visual Studio 2008 Service Pack 1中似乎已解决了此问题。