码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2016-03-11 12:24:44      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:解决方案   symbols   运行环境   文件夹   服务器   

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

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

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

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

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

技术分享

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

技术分享


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

标签:解决方案   symbols   运行环境   文件夹   服务器   

原文地址:http://summerflowers.blog.51cto.com/5202033/1749863

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!