6步确保 windbg 成功调试 .net

167 篇文章 0 订阅
80 篇文章 0 订阅

原文地址:http://blogs.msdn.com/b/dougste/archive/2011/10/31/tips-for-successful-net-debugging-with-windbg.aspx


1、windbg 的版本一致。
   分析时、dump内存时的 windbg 版本一致,且保证是完整的内存文件。使用 .dump /ma c:\dump.dmp 执行

2、检查 CLR的版本要一致。
   检查 mscorwks.dll (#2.0) 或 clr.dll (#4.0) 版本正确。使用 lm vm mscorwks 或 lm vm clr 检查,看输出内容中是否有 # M C 之类的,存在则表示文件不匹配

3、加载了正确的扩展命令。
   检查加载的扩展是否为: psscor2.dll (#2.0)      psscor4.dll (#4.0) 。使用命令 !threads 检查扩展是否正常工作。
   psscor2 下载地址: http://www.microsoft.com/download/en/details.aspx?id=1073
   psscor4 下载地址: http://www.microsoft.com/download/en/details.aspx?id=21255

4、如果步骤3 执行失败,则检查 和CLR版本相同的DAC(Data Access Component)是否正确。
   将dump机器上(或其他机器上同版本的 mscordacwks.dll)拷贝到windbg.exe 同目录,并命名为:mscordacwks_xPP_xPP_2.0.50727.vvvv.dll,

5、确认 CLR  版本。
   使用 lm vm mscorwks (#2.0) 或 lm vm clr (#4.0) 来确认 CLR 版本。

6、顺带说一个非常强大的调试托管代码的扩展命令。
   SOSEX     : http://www.stevestechspot.com/

========================================================================
总结:
1、上述 6步 是”确保windb成功调试.net“的前提,每一步都非常重要。切记,切记!
2、关于CLR的版本列表,外国大牛就是总结的好,方便查找,应该为.net调试常备之利器。
3、除了 sos.dll 进行托管调试外,还有2款瑞士军刀可用: psscor2 / sosex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值