我正在使用混合模式应用程序(C ++ / CLI,C ++,一些C#),当它在字段中崩溃时,会创建内存转储。我经常从客户处获得这些转储并试图找出问题所在。
问题是 - 如何处理托管代码的事后调试?我通常使用WinDbg与SOS.dll,但似乎SOS不向后兼容!我最近运行Windows Update,现在我无法从客户端站点加载任何minidump。它抱怨SOS版本错误。
如何获取并加载以前的版本?我做错了什么?
答案 0 :(得分:1)
这可能是x86 / 64问题。你是如何加载sos的?
您可以尝试使用以下方式加载sos:
.loadby sos mscorwks
或者,如果失败,请尝试明确加载64位sos:
.load c:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll
答案 1 :(得分:0)
我有同样的问题。看看Stack Overflow问题 WinDbg: Copy of SOS.dll x86 4.0.30319.237 ,它建议从服务器下载和引用正确版本的SOS。