Windbg SOS和CLR版本不一致的解决方案

由于测试服务环境与Windbg运行环境的差异,这就可能出现Windbg在分析转储文件时。net sos.dll和mscordacwks。dll版本不一致问题,从而导致windbg调试器的扩展命令无法正常使用,具体的解决方法如下:

1。首先定义Windgb符号路径(如:d: \ temp),接着在符号路径下创建一个文件夹来存放。net sos.dll和mscordackwks。dll(如:d: \ temp \ clr1026);

2,然后将转储运行环境,即测试服服务器上。net框架安装路径下的sos.dll和mscordacwks。dll两个dll拷贝到符号目录下的clr1026文件夹;

3。最后启动Windbg并加载转储文件,在命令窗口下输入调用命令:。cordll - u负-lp , + (sos.dll和mscordacwks.dll所在的根目录),即。cordll - u负-lp  d: \ temp \ clr1026;

4。再次验证调试器下的所有扩展命令均可以正常使用,但在使用过程中仍旧提示SOS与CLR版本不匹配信息如下:

 Windbg SOS和CLR版本不一致的解决方案

5。运行.chain命令查找额外的dll路径,然后运行.unload不加载系统默认sos.dll,最后运行。setdll使用自定义sos。dll路径,具体操作步骤如下1、2和3:

 Windbg SOS和CLR版本不一致的解决方案


Windbg SOS和CLR版本不一致的解决方案