Visual Studio 调试器在内联代码中变慢

Posted

技术标签:

【中文标题】Visual Studio 调试器在内联代码中变慢【英文标题】:Visual Studio debugger slows down in in-line code 【发布时间】:2008-09-26 11:40:47 【问题描述】:

自从我从 vs2005 升级到 Visual Studio 2008 后,在调试大型项目时发现了一个非常烦人的行为。如果我尝试进入内联代码,调试器似乎会锁定数十秒。每次我进入这样的函数时,都会出现类似的停顿。有没有人经历过这种情况,是否有人知道解决方法?

后记:

在得知MS有vs2008的service pack,由于其他编译问题需要获取后,我在调试器中遇到的问题得到了解决。

【问题讨论】:

【参考方案1】:

我曾经得到这个 - 我认为这是“自动”调试窗口的错误:

http://social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/eabc58b1-51b2-49ce-b710-15e2bf7e7516/

【讨论】:

【参考方案2】:

我在调试 ASP.NET 应用程序时遇到这样的延迟,并且似乎在后台访问符号 (pdb) 文件时会发生这种情况。图书馆越大,等待的时间就越长。我的延迟最多大约 10 秒,但它似乎确实发生在已经访问过的符号上。

当我尝试跳过导致 VS 给我“步入特定”消息 (http://blogesh.wordpress.com/category/visual-studio-2008/ #3) 的项目时,我确实得到了很多 1-3 秒的等待。也许这可能会给您带来真正的打击。

【讨论】:

【参考方案3】:

不管怎样,这个问题似乎在 Visual Studio 2008 Service Pack 1 中得到了解决。

【讨论】:

【参考方案4】:

作为一种解决方法,您可以使用类似的方法进行调试:

#ifdef _DEBUG
  #define INLINE
#else
  #define INLINE inline
#endif

为了更加整洁,您可以将函数放在单独的 .inc 文件中,该文件包含在头文件或 cpp 文件中,具体取决于构建类型。

【讨论】:

以上是关于Visual Studio 调试器在内联代码中变慢的主要内容,如果未能解决你的问题,请参考以下文章

添加 fontawesome svgs 后,Visual Studio 构建速度变慢

Visual Studio 中的 DLL 响应太慢

一段时间后,AsyncTask 在服务中变慢

由于不同的病毒扫描程序,Microsoft Visual Studio 的速度变慢

Visual Studio 2015 的 Web 应用程序响应时间变慢

Visual Studio调试本机代码