Windbg SOS and CLR版本不一致的解决方案
由于測試服務環境與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:
轉載于:https://blog.51cto.com/summerflowers/1749863
總結
以上是生活随笔為你收集整理的Windbg SOS and CLR版本不一致的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [android] 手机卫士手机定位的原
- 下一篇: 经典排序算法之基数排序(C语言版)