当我在打开的对话框中右键单击文件时,它会导致底层应用程序“偶尔”崩溃。这种情况发生在许多应用程序中,例如 Total Commander 和 Visual Studio。应用程序不会每次都崩溃,但每次崩溃都是在我单击上下文菜单中的任何项目之前。我查看了调用堆栈,没有发现任何有趣的东西可以查明崩溃的原因。这种情况几个月前就开始发生了,所以我不知道我安装了什么导致了这个问题。我的上下文菜单包含与 TortoiseHg、TortoiseSVN、SandBoxie 和其他一些常用应用程序(如 7-Zip 等)相关的项目。我从未注意到直接从 Windows 资源管理器使用上下文菜单时有任何崩溃,但我认为它崩溃的速度可能比其他应用程序更慢。
我如何确定上下文菜单中的哪个项目导致了这些崩溃? 是否有我可以查看的崩溃日志?
更新:我卸载了所有应用程序(Avast、VLC 等),并在上下文菜单中添加了项目,但崩溃仍然会发生。我注意到,在某些应用程序(Total Commander)中重现崩溃要比其他应用程序(IPLab)容易得多,不知道为什么。
答案1
上传的崩溃文件里面有以下信息:
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 月的。也许有更新的版本可用(无法从网站上查到)。
我在用着调试分析崩溃转储。
使用的命令:
.symfix d:\debug\symbols
.reload
.exr -1
lm vm *Sugar*
命令解释:
- 确保符号将从 Microsoft 下载
- 强制重新加载符号以确保它们是最新的
- 显示最后一条异常记录
- 显示异常地址中给出的DLL的详细信息
我认为如果您在“立即窗口”中输入类似的命令,您可以在 VS2012 中使用它们,但我对此不太熟悉。