43

我有一个实际上类似于Visual Studio 调试/加载非常慢的问题,但我还没有设法找到解决此类问题的方法。

我已经尝试了该问题中描述的所有内容,但第一次加载符号的速度非常慢。

与另一个问题类似,在启动 MVC 项目时,我在“输出”面板中看到几行,其中包含类似于以下内容的内容:

'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\02ba097f\ab73cbf7\App_Web__headerusermenu.cshtml.ee708ea.myhgafpb.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\02ba097f\ab73cbf7\App_Web__layoutcmsbase.cshtml.ce72eb6d.ovoanhe-.dll', Symbols loaded.
'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\02ba097f\ab73cbf7\App_Web__notificationmessage.cshtml.5346933.9aei7ems.dll', Symbols loaded.

这些条目每个大约需要 300 - 500 毫秒,并且这些条目是针对我们在项目中拥有的所有局部视图执行的,这是相当可观的。

我已经在另一个问题中尝试了解决方案,但仍然没有得到任何快速响应时间。

这些是我们进行的一些测试:

使用 IIS Express

  • 加载网站最初大约需要 2 分钟
  • 停止网站并重新开始大约需要 1 分 45 秒
  • 网站运行后,我按下加载所有符号(工具 > 选项 > 调试 > 符号 > 加载所有符号),然后停止项目并再次运行,它花费的时间要少得多,大约 25 秒。尽管如此,加载所有符号按钮在项目未运行时被禁用,所以第一次,我需要等到项目加载后才能按加载所有符号

使用 Visual Studio 开发服务器

  • 初始启动,大约需要 50 秒
  • 停止项目并重新开始,大约需要 20 秒
  • 单击加载所有符号,停止项目并重新开始大约需要 15 秒

这非常令人沮丧,因为第一次加载项目需要很长时间。

除了问题Visual Studio 调试/加载速度非常慢中提到的解决方案之外的任何可能的解决方案,这可能会有所帮助吗?

4

9 回答 9

4

就我而言,我在 VS 中打开了一个文件,该文件不是我当前解决方案的一部分(它恰好是一个 XML 文件,我已用断点标记以供快速参考)。当我删除那些特定的断点时,问题就解决了。

于 2015-01-23T17:14:32.213 回答
3

尝试以下任何一种...

  1. 仅启用我的代码
    转到工具>选项>调试>常规
    检查“仅启用我的代码”
    仅启用我的代码

  2. 本地缓存符号
    转到工具 > 选项 > 调试 > 符号 浏览到本地目录(确保它不在网络共享上)单击“加载所有符号”或运行项目以水合缓存

    缓存符号

  3. 删除远程符号服务器

    当您选择远程符号服务器时,Visual Studio 会为您提供以下警告

    远程符号存储的性能可能因服务器的延迟、带宽或可用性而异。通过选择启用此服务器时仅加载指定模块的选项可以提高调试性能

    加载符号缓存后,取消选择远程符号服务器

    转到工具 > 选项 > 调试 > 符号 取消选择“Microsoft 符号服务器”以防止 Visual Studio 远程查询 Microsoft 服务器。 取消选择 Microsoft 符号服务器

延伸阅读

堆栈溢出

微软文档

于 2020-06-03T12:38:01.633 回答
2

在本地网络共享上托管我的项目时,我遇到了同样的问题。将其移动到我的本地系统将符号加载时间减少了 90%!

于 2014-03-01T11:22:01.800 回答
2

根据 rkawano 的评论 - 关闭 Fusion Log 有时可以解决这个问题(它对我有用)。我在阅读以下文章后启用了融合日志,然后忘记了它。一段时间后,我开始经历 Visual Studio 2013 的显着放缓。症状是 VS 2013 变得无响应,尤其是在结束调试会话时。它还会在加载项目或停止调试器时显示符号加载对话框(通常不显示)。

于 2015-09-18T14:16:55.527 回答
0

您是否尝试过绕过 IIS express 并从本地 IIS 服务器运行应用程序?url 看起来像这样:localhost/{yourprojectname}。第一次点击应用程序时,您可能仍然会遇到缓慢的加载,但之后它应该会保持非常快速,因为 Visual Studio 不会在您每次想要运行它时启动应用程序。从本地 IIS 运行应用程序还可以让您在启动调试器时保持 Firefox 处于打开状态,而不是每次都打开和关闭 IE。

于 2013-11-16T08:22:41.420 回答
0

转到工具>选项>环境>添加安全取消选中“允许加载组件”重新启动Visual Studio

于 2016-07-08T11:50:56.827 回答
0

由于加载符号缓慢,我的 VS2013 在调试时非常缓慢。我注意到,在缓慢加载期间,我的网络使用率非常高,尽管我的应用程序无法访问它。

作为一个实验,我拔掉了我的以太网电缆并且调试非常快。我的符号 DownstreamStore 位于 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\DownstreamStore。在 Tools\Debugging\Symbols 下,我清除了缓存,当我尝试退出时,我收到一条消息,提示它需要管理员权限才能继续。

可能是权限(自 2013 年以来可能已更改)导致符号从 Internet 加载。我将目录更改为闪存驱动器上的另一个非管理位置并进行了调试。第一次速度很慢,但后来很快。

于 2018-06-21T03:16:10.487 回答
0

我遇到了同样的加载缓慢问题,但它只困扰着一个沙盒解决方案。非常相似的分期和生产/复制解决方案工作得很好。因此,人们推荐的所有这些环境调整都无法解释(当然,我还是尝试了。)然后我比较了 .csproj 文件,发现了一个可疑的外观差异。改正之后,一切又恢复了正常。

于 2017-01-05T19:04:09.337 回答
0

我尝试了所有解决方案,但似乎没有任何效果。我破解了我的符号设置工具>选项>调试>符号并找到了Cache Symbols in this directory另一个用户目录的设置,例如C:\Users\<not my name>\AppData\Local\Temp\SymbolCache

然后,我通过将其设为空来清除设置字符串,并删除配置的任何其他 pdb 位置。然后按确定。

在此处输入图像描述

然后我开始构建并允许 VS 解析这些符号(20 秒)。然后我停止并重新启动,并在没有加载符号的情况下启动。

我假设我从另一个用户那里导入了设置。

于 2017-10-17T17:15:52.503 回答