windbg 解决 "System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to ob...

 
 

    使用windbg可以调试asp.net中数据库连接池是否超限的问题。详见文章:
http://blogs.msdn.com/b/spike/archive/2012/05/21/quot-system-invalidoperationexception-timeout-expired-the-timeout-period-elapsed-prior-to-obtaining-a-connection-from-the-pool-quot.aspx?CommentPosted=true#comments

我主要其实想说明的是,在搭建调试环境和进行调试过程中可能碰到的几个问题:
1. The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll) failed
0:000> .load C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll) failed, Win32 error 0n193
    "%1 is not a valid Win32 application."
Please check your debugger configuration and/or network access.
A:检查你的windbg版本,是否为x86,估计你现在用的是x64,你想导入x86的clr.dll肯定出错了...换个windbg或者导入:
   .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll

2. Failed to find runtime DLL (clr.dll), 0x80004005
0:000> !dumpheap
Failed to find runtime DLL (clr.dll), 0x80004005
Extension commands need clr.dll in order to have something to do.
A:请先用.chain命令查看是否已经导入clr扩展:
0:000> .chain
Extension DLL search Path:
    ...//省略
Extension DLL chain:
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll: image 4.0.30319.239, built Sat Jul 09 17:44:20 2011
        [path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll]
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll: image 4.0.30319.239, API 1.0.0, built Sat Jul 09 18:00:43 2011
        [path: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll]
    dbghelp: image 6.12.0002.633, API 6.1.6, built Tue Feb 02 04:15:44 2010
        [path: D:\WinDDK\7600.16385.1\Debuggers\dbghelp.dll]
    ext: image 6.12.0002.633, API 1.0.0, built Tue Feb 02 04:15:46 2010
        [path: D:\WinDDK\7600.16385.1\Debuggers\winext\ext.dll]
    exts: image 6.12.0002.633, API 1.0.0, built Tue Feb 02 04:15:38 2010
        [path: D:\WinDDK\7600.16385.1\Debuggers\WINXP\exts.dll]
    uext: image 6.12.0002.633, API 1.0.0, built Tue Feb 02 04:15:36 2010
        [path: D:\WinDDK\7600.16385.1\Debuggers\winext\uext.dll]
    ntsdexts: image 6.1.7650.0, API 1.0.0, built Tue Feb 02 04:15:18 2010
        [path: D:\WinDDK\7600.16385.1\Debuggers\WINXP\ntsdexts.dll]
如果已经导入了clr.dll,但是还是不行,那么估计你调试的是一个dump文件或者程序已经跑完。建议在程序即将结束处加个sleep,让程序等待在那里,并且通过Open Excutable...的方式打开程序后,按g让程序先跑起来,等挂起的时候,再按CTRL+BREAK,让程序暂停,这个时候再倒入sos和clr扩展。现在再输入!dumpheap应该就可以了。(参考:http://social.msdn.microsoft.com/Forums/en-US/clr/thread/59aa78c9-dc05-43c8-9efe-e7b132056afc/)

 

转载于:https://www.cnblogs.com/lypkiller/archive/2012/10/16/2725970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值