有没有办法找出.NET代码从应用程序外部捕获到了什么异常?
我发现3DParty API抛出了一个异常,并抑制了它(我看到性能计数器在上升)。
但它没有在跟踪中显示它(我尝试过sysinternals dbgView)。
什么工具可以显示捕获的异常?
发布于 2010-06-23 11:17:31
在这种情况下,我总是求助于WinDBG。根据进程的位数下载32bit version或64bit version。
由于某种原因,最新版本没有直接下载链接(只在SDK中可用),所以跳到“以前版本”部分,获取最新的版本。
安装后加载WinDBG并执行以下操作:
.loadby sos mscorwks (这会加载.NET调试器扩展)- sxe clr (告诉调试器在托管异常时中断)- g打开该进程,直到异常发生为止。!pe以查看异常详细信息。要查看托管堆栈或尝试使用!dumpstack来包含本机调用,!clrstack命令很有用。
如果调试器在你不关心的异常上停止,只需再次点击'g‘,直到你得到你想看到的那个。
!help命令将显示所有可用的.NET扩展,如果您希望深入挖掘,我强烈建议使用Tess Ferrandez's blog。
发布于 2010-06-23 07:13:47
是否可以使用visual studio中的远程调试器附加到进程,并将其配置为在引发异常时中断?
https://stackoverflow.com/questions/3097493
复制相似问题