2 回答

TA貢獻1844條經驗 獲得超8個贊
要診斷Visual Studio崩潰,您需要生成崩潰轉儲,其中包括Visual Studio的當前狀態。
要生成此類故障轉儲,您可以配置Windows錯誤報告以通過運行生成轉儲regedit.exe,轉到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\devenv.exe創建字符串DumpFolder并為其命名,C:\localdumps并創建名為DWORD 32Bit DumpType并將其設置2為生成完全轉儲。
在Visual Studio崩潰并獲得轉儲后,安裝Windows調試工具,它是Windows 10 SDK的一部分。
在安裝過程中,您只需選擇 Debugging Tools for Windows
所有其他都可以跳過。
現在運行32位/ x86 Windbg.exe(因為Visual Studio是一個32位/ x86應用程序),在Windbg內部,設置調試符號,通過File-> Open crash dump(或CTRL+ D)打開dmp 并輸入!analyze -v命令行at BUTTOM
現在按ENTER鍵?,F在,Windbg加載所需的調試符號并分析轉儲并顯示一些數據。在我的例子中,我看到了這個:
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_
因此Visual Studio崩潰是因為模塊中的System.NullReferenceExceptionVSWindowTitleChanger試圖在正確加蓋窗口之前更改窗口的標題并訪問具有NULL的對象。這是一個Visual Studio擴展,刪除它修復了我在啟動時遇到的崩潰。
如果Windbg太復雜,您可以使用DebugDiag分析器。第一次下載調試診斷工具v2更新2,現在運行DebugDiag.Analysis.exe的C:\Program Files\DebugDiag,選擇CrashHangDumpAnalysis,現在點擊Add Data Files并選擇轉儲。
在最后一步中,單擊Start Analysis。現在分析儀檢查轉儲
如果完成,它會打開一個結果報告。

TA貢獻1895條經驗 獲得超3個贊
我擔心我不知道如何創建轉儲文件(您的鏈接不提供說明),我不知道Windbg.exe是什么或如何使用它。不幸的是,我的老板不會允許我花時間學習所有這些。我認為我已經得到的日志已經很好地說明了問題所在,我只是不知道如何解決它。我希望獲得特定于Visual Studio 2015的答案,例如“轉到某個鏈接并下載x。這將重新安裝您丟失的文件
添加回答
舉報