首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在生产机器上嗅探.NET中捕获的异常?

如何在生产机器上嗅探.NET中捕获的异常?
EN

Stack Overflow用户
提问于 2010-06-23 06:03:55
回答 2查看 193关注 0票数 3

有没有办法找出.NET代码从应用程序外部捕获到了什么异常?

我发现3DParty API抛出了一个异常,并抑制了它(我看到性能计数器在上升)。

但它没有在跟踪中显示它(我尝试过sysinternals dbgView)。

什么工具可以显示捕获的异常?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-23 11:17:31

在这种情况下,我总是求助于WinDBG。根据进程的位数下载32bit version64bit version

由于某种原因,最新版本没有直接下载链接(只在SDK中可用),所以跳到“以前版本”部分,获取最新的版本。

安装后加载WinDBG并执行以下操作:

  1. -> Attach to a process (F6)
  2. 选择目标进程,然后在控制台中单击“打开”
  3. 输入following:
  • .loadby sos mscorwks (这会加载.NET调试器扩展)- sxe clr (告诉调试器在托管异常时中断)- g打开该进程,直到异常发生为止。
  • 调试器将中断,此时输入!pe以查看异常详细信息。

要查看托管堆栈或尝试使用!dumpstack来包含本机调用,!clrstack命令很有用。

如果调试器在你不关心的异常上停止,只需再次点击'g‘,直到你得到你想看到的那个。

!help命令将显示所有可用的.NET扩展,如果您希望深入挖掘,我强烈建议使用Tess Ferrandez's blog

票数 2
EN

Stack Overflow用户

发布于 2010-06-23 07:13:47

是否可以使用visual studio中的远程调试器附加到进程,并将其配置为在引发异常时中断?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3097493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档