題 如何在上下文菜單中確定崩潰的原因


當我在打開對話框中右鍵單擊文件時,它會使底層應用程序“偶爾”崩潰。這種情況發生在許多應用程序中,例如Total Commander和Visual Studio。應用程序不會每次都崩潰,但是當它們執行時它是在我單擊上下文菜單中的任何項目之前。我查看了調用堆棧,我沒有看到任何有趣的內容來查明崩潰的原因。這開始發生在幾個月前,所以我不知道我可以安裝什麼導致這個問題。 我的上下文菜單包含與TortoiseHg,TortoiseSVN,SandBoxie以及其他一些常用應用程序(如7-Zip等)相關的項目。 直接從Windows資源管理器中使用上下文菜單時,我從未發現任何崩潰,但我認為它可能比其他應用程序更安靜地崩潰。

如何識別上下文菜單中的哪個項目導致這些崩潰?有什麼崩潰日誌我可以在某處看看嗎?

更新: 我已經卸載了所有應用程序(Avast,VLC等),在上下文菜單中添加了項目,崩潰仍然發生。我注意到在某些應用程序(Total Commander)中重現崩潰要比其他應用程序(IPLab)容易得多,不知道為什麼。

更新2: 壓縮轉儲文件現在可用 這裡。它基於可用的IPLab應用程序 這裡


4
2018-01-30 03:54


起源


創建轉儲並共享它們(將它們壓縮到RAR / 7z以減小大小!!!!!!): pastebin.com/zKuJvw57 - magicandre1981
@ magicandre1981:我有一個完整的崩潰轉儲(92MB,壓縮)。我會在星期二上傳它,因為現在我有一個有限的互聯網連接,無法上傳這麼大的文件...... - rold2007
@Ramhound不,這是用戶模式應用程序崩潰。 BlueScreenViewer在這裡毫無用處。 - magicandre1981
你是怎麼做一個故障轉移的?! - Nakilon
@Nakilon:看起來像magicandre1981的鏈接不再好了。我建議你看一下這裡的官方文檔: msdn.microsoft.com/en-us/library/windows/desktop/bb787181.aspx magicandre1981的reg文件只是修改這些註冊表項。 - rold2007


答案:


上傳的崩潰文件內部包含以下信息:

0:014> .exr -1
ExceptionAddress: 000007fef2dabf80 (<Unloaded_SugarSyncVFSNamespace64.dll>+0x000000000001bf80)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000008
   Parameter[1]: 000007fef2dabf80
Attempt to execute non-executable address 000007fef2dabf80

似乎崩盤與此有關 糖同步

0:014> lm vm *Sugar*
start             end                 module name

Unloaded modules:
000007fe`f2d90000 000007fe`f2de5000   SugarSyncVFSNamespace64.dll
    Timestamp: Tue Nov 05 05:51:38 2013 (5278795A)
    Checksum:  000471D3
    ImageSize:  00055000

您使用的版本是從2013年11月開始的。也許有更新的版本(無法從網站上找到)。

我正在使用 WinDbg的 分析崩潰轉儲。

使用的命令:

.symfix d:\debug\symbols
.reload
.exr -1
lm vm *Sugar*

命令說明:

  • 確保將從Microsoft下載符號
  • 強制重新加載符號以確保它們是最新的
  • 顯示最後一條異常記錄
  • 顯示異常地址中給出的DLL的詳細信息

如果你在立即窗口中輸入它們,我認為你可以在VS2012中使用類似的命令,但我不太熟悉它。


2
2018-02-03 22:07



很酷!這很奇怪,SugarSync已安裝,但它甚至沒有運行。我猜它被稱為圖標疊加。現在,你能解釋一下這個結果的“結果”嗎?在VS2012中加載轉儲文件時,我沒有看到您在答案中顯示的任何內容。 - rold2007
@ rold2007:更新了我的回答 - Thomas Weller