C# 在引发clr异常时创建核心转储

C# 在引发clr异常时创建核心转储,c#,debugging,clr,windbg,dump,C#,Debugging,Clr,Windbg,Dump,每次抛出特定的clr异常时,我都试图使用windbg创建转储 我知道!soe,但我不希望执行停止,我只希望它创建一个转储 这可能吗 如果不能使用windbg,我也愿意接受其他关于如何实现这一点的建议…试试看。可能使用选项“-e1”捕获第一次出现异常时的转储 编辑: 对于特定的例外情况,您可能需要ADPlus。看看这个例子 更多编辑: 也可以不使用ADPlus:在Windbg->Debug->Event Filters中,将CLR exception设置为忽略-未处理。单击“命令”按钮,然后输入以

每次抛出特定的clr异常时,我都试图使用windbg创建转储

我知道!soe,但我不希望执行停止,我只希望它创建一个转储

这可能吗

如果不能使用windbg,我也愿意接受其他关于如何实现这一点的建议…

试试看。可能使用选项“-e1”捕获第一次出现异常时的转储

编辑:

对于特定的例外情况,您可能需要ADPlus。看看这个例子

更多编辑:

也可以不使用ADPlus:在Windbg->Debug->Event Filters中,将CLR exception设置为忽略-未处理。单击“命令”按钮,然后输入以下内容(当然还有您的特殊例外类型):


在WinDbg的“调试>事件筛选器”中,查找要执行命令的特定异常或添加编号异常

然后单击“命令”并输入:

.dump /ma c:\mydump.dmp

在命令框中,您甚至可以输入第二个命令来进行二次机会异常处理,这将在触发异常事件时写入完整的迷你转储。

谢谢,我可能没有说清楚——我说的“某种异常”是指特定的异常,而不是抛出任何异常时。我认为这是不可能的procdump@RoyReznikADPlus可能是您所需要的。请按照我编辑的答案中的链接进行操作。ADPlus工作正常,但较新版本需要的语法与您引用的帖子略有不同。我建议任何想使用它的人都应该去
.dump /ma c:\mydump.dmp