Visual Studio 2015混合C#/ C ++调试器启动速度极慢

时间:2016-07-12 19:45:15

标签: debugging visual-studio-2015

我有一个混合的托管/本机桌面解决方案。开始调试时,需要大约一分钟(!)才能启动,并立即进入调试对象。

更多信息:

1)在主线程上断开'立即'=在此堆栈处中断:

TimerAbstractFactory.php

2)我看到一个我不熟悉的帖子,从<?php开始,在休息时间位于> kernel32.dll!GetFullPathNameW() Unknown mscorlib.ni.dll!00007ffaa4f51310() Unknown [Managed to Native Transition] mscorlib.dll!System.IO.PathHelper.GetFullPathName() Unknown mscorlib.dll!System.IO.Path.NormalizePath(string path = "D:\\cwx_tfs\\718_High_risk_branch\\Application\\Bin\\Debug\\CathWorksUI.exe.Config", bool fullCheck, int maxPathLength = 260, bool expandShortPaths = true) Unknown mscorlib.dll!System.IO.Path.GetFullPathInternal(string path) Unknown mscorlib.dll!System.AppDomainSetup.NormalizePath(string path, bool useAppBase) Unknown mscorlib.dll!System.AppDomainSetup.VerifyDir(string dir, bool normalize) Unknown System.Configuration.dll!System.Configuration.ClientConfigPaths.ClientConfigPaths(string exePath = null, bool includeUserConfig) Unknown System.Configuration.dll!System.Configuration.ClientConfigPaths.GetPaths(string exePath, bool includeUserConfig = false) Unknown System.Configuration.dll!System.Configuration.ClientConfigurationHost.GetStreamName(string configPath) Unknown System.Configuration.dll!System.Configuration.ClientConfigurationHost.IsAppConfigHttp.get() Unknown System.Configuration.dll!System.Configuration.ClientConfigurationSystem.ClientConfigurationSystem() Unknown System.Configuration.dll!System.Configuration.ConfigurationManager.EnsureConfigurationSystem() Unknown System.Configuration.dll!System.Configuration.ConfigurationManager.PrepareConfigSystem() Unknown System.Configuration.dll!System.Configuration.ConfigurationManager.GetSection(string sectionName = "system.diagnostics") Unknown System.dll!System.Configuration.PrivilegedConfigurationManager.GetSection(string sectionName) Unknown System.dll!System.Diagnostics.DiagnosticsConfiguration.Initialize() Unknown System.dll!System.Diagnostics.DiagnosticsConfiguration.Sources.get() Unknown System.dll!System.Diagnostics.TraceSource.Initialize() Unknown System.dll!System.Diagnostics.TraceSource.Switch.get() Unknown WindowsBase.dll!System.Diagnostics.PresentationTraceSources.CreateTraceSource(string sourceName) Unknown WindowsBase.dll!System.Diagnostics.PresentationTraceSources.DependencyPropertySource.get() Unknown WindowsBase.dll!MS.Internal.AvTrace.Initialize() Unknown WindowsBase.dll!MS.Internal.TraceDependencyProperty.TraceDependencyProperty() Unknown ...

3)在生成的进程msvsmon('Visual studio 2015远程调试器')中有大约60秒的高CPU活动。在使用WPA进行检查时,我发现在mscordbi.dll上花费了不成比例的时间!ShimStackWalk。特别是在这个堆栈:

enter image description here

我什么都不做,只是经常进行桌面调试。我也在/ safemode中复制了这个,所以它可能不是扩展问题。调试相同代码的其他计算机上不会发生这种情况,因此它不是一些奇特的代码问题。 VS重新安装后仍然存在。我可能以某种方式使用非默认调试引擎吗?任何其他想法都会非常受欢迎。

编辑:

4)刚刚发现,如果我取消选中“启用本机代码调试”,则60秒延迟消失了。它是混合调试引擎特有的东西。

编辑:

5)刚刚在VS ActivityLog.xml中看到了这个:

ntdll.dll!DbgUiRemoteBreakin()

听起来很相关。我该如何解决?

编辑: 我报告了这个@Connect。如果有人感兴趣,那可能是一个值得关注的好地方。如果您遇到问题,请投票。

0 个答案:

没有答案