如何诊断和修复 Visual Studio(例如 2015、2017)崩溃? [英] How do I diagnose and fix a Visual Studio (for example 2015, 2017) crash?

查看:24
本文介绍了如何诊断和修复 Visual Studio(例如 2015、2017)崩溃?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Windows 10 环境中使用 Visual Studio 2015.Visual Studio 不断崩溃.该解决方案打开得很好,但在输入几个字母后,我收到一条消息,说发生了错误,必须关闭 Visual Studio.我在网上搜索并找到了如何在诊断模式(devenv/log)下运行 VS.我尝试了这个并在 ActivityLog.xml 中看到了几个错误.我不知道这些是什么意思,我在网上找不到任何关于它们的信息.我已经更新了所有 Visual Studio 扩展,但这没有帮助.我尝试修复 VS,但这也无济于事.有人可以解释我如何诊断和解决问题吗?

这是日志中的错误消息:

 <入口><记录>161</记录><time>2017/05/08 14:53:38.815</time><type>错误</type><source>Microsoft.VisualStudio.CommonID​​E.ExtensibilityHosting.VsShellComponentModelHost</source><描述>仍然无法加载 MEF 组件 DLL:无法加载文件或程序集 &‘Microsoft.VisualStudio.Workspaces.Contracts, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&’;或其依赖项之一.系统找不到指定的文件.</description><path>C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO 14.0COMMON7IDEEXTENSIONSRV0KRPV2.PBVTMLanguage.dll</path></条目><进入><记录>162</记录><time>2017/05/08 14:53:38.822</time><type>错误</type><source>Microsoft.VisualStudio.CommonID​​E.ExtensibilityHosting.VsShellComponentModelHost</source><描述>仍然无法加载 MEF 组件 DLL:无法加载文件或程序集 &‘Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.7, Version=1.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&’;或其依赖项之一.系统找不到指定的文件.</description><path>C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensions2re3mhbz.g1sMicrosoft.VisualStudio.ApplicationInsights.dll</path></条目><进入><记录>163</记录><time>2017/05/08 14:53:38.830</time><type>错误</type><source>Microsoft.VisualStudio.CommonID​​E.ExtensibilityHosting.VsShellComponentModelHost</source><描述>仍然无法加载 MEF 组件 DLL:无法加载文件或程序集 &‘Microsoft.VisualStudio.ApacheCordovaTools.Definitions.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&’;或其依赖项之一.系统找不到指定的文件.</description><path>C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO 14.0COMMON7IDEEXTENSIONS22KH2U4Y.XLJMicrosoft.VisualStudio.Azure.ConnectedServices.MobileServices.dll</path></条目>

解决方案

要诊断 Visual Studio 崩溃,您需要生成一个

其他都可以跳过.

现在运行 32 位/x86 Windbg.exe(因为 Visual Studio 是一个 32 位/x86 应用程序),

然后按 ENTER.现在 Windbg 加载所需的调试符号并分析转储并向您显示一些数据.在我的示例中,我看到了这一点:

BUGCHECK_STR:CLR_EXCEPTION_REMOTE_System.NullReferenceExceptionDEFAULT_BUCKET_ID:CLR_EXCEPTION_REMOTE_System.NullReferenceExceptionPRIMARY_PROBLEM_CLASS:CLR_EXCEPTION堆栈_文本:00000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor+0x000000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase.CreateMainWindow+0x000000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.get_MainWindow+0x000000000 00000000 未知!EnvDTE._DTE.get_MainWindow+0x100aed828 11da97b8 未知!VSWindowTitleChanger.VSWindowTitleChangerPackage.DelayedInit+0x90符号名称:Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctorMODULE_NAME:Microsoft_VisualStudio_Platform_WindowManagement_niBUCKET_ID:CLR_EXCEPTION_REMOTE_System.NullReferenceException_Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctorFAILURE_IMAGE_NAME:Microsoft.VisualStudio.Platform.WindowManagement.dllBUCKET_ID_IMAGE_STR:Microsoft.VisualStudio.Platform.WindowManagement.dllFAILURE_MODULE_NAME:Microsoft_VisualStudio_Platform_WindowManagement_niBUCKET_ID_MODULE_STR:Microsoft_VisualStudio_Platform_WindowManagement_niFAILURE_FUNCTION_NAME:Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctorBUCKET_ID_FUNCTION_STR:Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctorBUCKET_ID_PREFIX_STR:CLR_EXCEPTION_REMOTE_System.NullReferenceException_

所以 Visual Studio 崩溃是因为 VSWindowTitleChanger 模块中的

在最后一步,点击Start Analysis.现在分析器检查转储

如果完成,它会打开一个带有结果的 mht 报告.

I'm using Visual Studio 2015 in a Windows 10 environment. Visual Studio is constantly crashing. The solution opens up fine, but after typing a few letters I get a message saying that an error occurred and Visual Studio must be shut down. I searched online and found how to run VS in diagnostic mode (devenv /log). I tried this and see several errors in ActivityLog.xml. I don't know what any of these mean and I can't find anything online about them. I've updated all of the Visual Studio extensions, but that didn't help. I tried repairing VS, but that didn't help either. Can someone explain how I can diagnose and fix the problem?

Here is the error messages in the log:

  <entry>
    <record>161</record>
    <time>2017/05/08 14:53:38.815</time>
    <type>Error</type>
    <source>Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost</source>
    <description>Still unable to load MEF component DLL: Could not load file or assembly &apos;Microsoft.VisualStudio.Workspaces.Contracts, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos; or one of its dependencies. The system cannot find the file specified.</description>
    <path>C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO 14.0COMMON7IDEEXTENSIONSRV0KRPV2.PBVTMLanguage.dll</path>
  </entry>
  <entry>
    <record>162</record>
    <time>2017/05/08 14:53:38.822</time>
    <type>Error</type>
    <source>Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost</source>
    <description>Still unable to load MEF component DLL: Could not load file or assembly &apos;Microsoft.VisualStudio.WindowsAzure.CommonAzureTools.Contracts.1.7, Version=1.7.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&apos; or one of its dependencies. The system cannot find the file specified.</description>
    <path>C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensions2re3mhbz.g1sMicrosoft.VisualStudio.ApplicationInsights.dll</path>
  </entry>
  <entry>
    <record>163</record>
    <time>2017/05/08 14:53:38.830</time>
    <type>Error</type>
    <source>Microsoft.VisualStudio.CommonIDE.ExtensibilityHosting.VsShellComponentModelHost</source>
    <description>Still unable to load MEF component DLL: Could not load file or assembly &apos;Microsoft.VisualStudio.ApacheCordovaTools.Definitions.14.0, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&apos; or one of its dependencies. The system cannot find the file specified.</description>
    <path>C:PROGRAM FILES (X86)MICROSOFT VISUAL STUDIO 14.0COMMON7IDEEXTENSIONS22KH2U4Y.XLJMicrosoft.VisualStudio.Azure.ConnectedServices.MobileServices.dll</path>
  </entry>

解决方案

To diag Visual Studio crashes, you need to generate a crash dump, which includes the current state of Visual Studio.

To generate such a crash dump, you can configure Windows Error Reporting to generate dumps by running regedit.exe, go to HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsWindows Error ReportingLocalDumpsdevenv.exe create a string DumpFolder and give it a name like C:localdumps and create a DWORD 32Bit named DumpType and set it to 2 to generate a Full dump.

After Visual Studio crashed and you got a dump, install the Debugging Tools for Windows, which are part of the Windows 10 SDK.

During Setup you only need to select the Debugging Tools for Windows

all other can be skipped.

Now run 32 Bit/x86 Windbg.exe (because Visual Studio is a 32Bit /x86 applciation), inside Windbg, setup the debug symbols, open the dmp via File->Open crash dump (or CTRL+D) and type !analyze -v in the command line at buttom

and now press ENTER. Now Windbg loads the required debug symbols and analyzes the dump and shows you some data. In my example I see this:

BUGCHECK_STR:  CLR_EXCEPTION_REMOTE_System.NullReferenceException

DEFAULT_BUCKET_ID:  CLR_EXCEPTION_REMOTE_System.NullReferenceException

PRIMARY_PROBLEM_CLASS:  CLR_EXCEPTION

STACK_TEXT:  
00000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor+0x0
00000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase.CreateMainWindow+0x0
00000000 00000000 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.get_MainWindow+0x0
00000000 00000000 UNKNOWN!EnvDTE._DTE.get_MainWindow+0x1
00aed828 11da97b8 UNKNOWN!VSWindowTitleChanger.VSWindowTitleChangerPackage.DelayedInit+0x90


SYMBOL_NAME:  Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor

MODULE_NAME: Microsoft_VisualStudio_Platform_WindowManagement_ni

BUCKET_ID:  CLR_EXCEPTION_REMOTE_System.NullReferenceException_Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor

FAILURE_IMAGE_NAME:  Microsoft.VisualStudio.Platform.WindowManagement.dll

BUCKET_ID_IMAGE_STR:  Microsoft.VisualStudio.Platform.WindowManagement.dll

FAILURE_MODULE_NAME:  Microsoft_VisualStudio_Platform_WindowManagement_ni

BUCKET_ID_MODULE_STR:  Microsoft_VisualStudio_Platform_WindowManagement_ni

FAILURE_FUNCTION_NAME:  Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor

BUCKET_ID_FUNCTION_STR:  Microsoft.VisualStudio.Platform.WindowManagement.DTE.MainWindow..ctor

BUCKET_ID_PREFIX_STR:  CLR_EXCEPTION_REMOTE_System.NullReferenceException_

So the Visual Studio crashed because of a System.NullReferenceException in the module VSWindowTitleChanger which tries to change the Title of a Window before it was laoded correctly and accessed an object with was NULL. This is a Visual Studio extension and removing it fixes the crash I had at startup.

If Windbg is too complicated, you can use the DebugDiag analyzer. 1st download the Debug Diagnostic Tool v2 Update 2, now run DebugDiag.Analysis.exe from C:Program FilesDebugDiag, select CrashHangDumpAnalysis, now click on Add Data Files and select the dump.

In last step, click on Start Analysis. Now the analyzer checks the dump

and if this is finished, it opens a mht Report wit the result.

这篇关于如何诊断和修复 Visual Studio(例如 2015、2017)崩溃?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆