c# – 在.NET中的Unhandled Exception上编写minidump是否有意义?

当我在这样的异常处理程序时似乎:

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;

或者像这样:

Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;

堆栈已经解除调用我的自定义未处理的异常处理程序.似乎在这一点上编写一个minidump是没有意义的,因为堆栈已经放松了.
在没有展开的情况下,堆栈应用程序无法理解此异常是否未处理.

即使我可以在UnhandledExceptionEventArgs.ExceptionObject中看到堆栈,我也无法在应用程序崩溃的确切位置获取minidump.

还有另外一种方法吗?

我知道我可以要求系统写一个转储,但我应该是管理员.

更新:

好.我有一个想法)如果在FirstChanceException处理程序中我可以走回堆栈并查看此异常是否未处理,那将会很好.但这应该足够快,可以在生产中使用.

最佳答案 你正在寻找
FirstChanceException event,它在堆栈展开之前被提升.

点赞