2 回答

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

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