c# - 在 C# 中,我可以在抛出异常时执行代码吗?

标签 c# winapi crash-reports crash-dumps

我遇到了一个很难跟踪的错误。这是仅在调试器未连接时才会发生的情况之一:)

我已经 pinvoked MiniDumpWriteDump(),它非常适合创建 .dmp 文件,我可以在事后进行调试。

但是,我正在做类似的事情

try
{
    foo();
}
catch(Exception)
{
    CreateMiniDump()
}

这很好用,但是我没有得到所需的调用堆栈。我真的更喜欢在引发异常的地方拥有调用堆栈(包含所有成员变量)。

这可能吗?是否有一种机制可以优先处理异常?这样我就可以创建一个小型转储并保留调用堆栈等?

最佳答案

在 .NET 4 及更高版本中,您可以订阅 FirstChanceException事件。

关于c# - 在 C# 中,我可以在抛出异常时执行代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326706/

相关文章:

c++ - Win32 C++ 在第二个监视器中创建窗口

winapi - 使用 Win32 API 的 Windows "real"用户列表

winapi - 来自 Windows 的低级键盘输入

iphone - 应用被拒绝 : strange iPhone crash log

ios - 在 iOS 应用程序中读取生产崩溃日志

c# - 如何在 Visual Studio 扩展的属性窗口对象列表中修改名称

c# - 声明 IEnumerable<T> 变量以供稍后使用

c# - SQLite:创建表并在表不存在时添加一行

c# - 克隆网站项目 nuget 后恢复包但找不到引用 VS 2015

ios - EXC_BAD_ACCESS 自动处理