UnhandledException 的堆栈跟踪

Stack trace of UnhandledException

提问人:ahak 提问时间:10/30/2022 最后编辑:ahak 更新时间:10/30/2022 访问量:209

问:

我想将我的 UWP 应用存储在 中。订阅了 UnhandledException 事件 。UnhandledExceptionBugsnagApp.XAML.cs

UnhandledException += App_UnhandledException;

当事件触发时,我们使用 Notify 方法向 Bugsnag 发送异常。

private async void App_UnhandledException(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs e)
{
    e.Handled = true;
    if(e is InternetConnectionExeption)
        await AsyncMethod();
    BugsnagClient.Notify(e.Exception, Severiry.Error);
}

在调试模式下,我们在 中得到异常的原因。 但在发布模式下,我们得到以下结果: enter image description here 使用此堆栈跟踪,我无法分析和理解异常的原因。e.Message

对于 .csproj 文件中的发布模式,我添加了以下内容:

<DebugType>full</DebugType>
<DebugSymbols>true</DebugSymbols>

在创建包的弹出窗口中,我设置了复选框。enter image description here但结果是一样的。当我在发布模式下运行应用程序时,结果也是一样的(不创建应用程序包)

问题是。如何详细获取堆栈跟踪?我想知道抛出异常的方法名称。

C# UWP 未处理异常 PDB 文件 错误

评论

0赞 Hans Passant 10/31/2022
如果 Notify() 方法本身抛出异常,会发生什么情况?嗯,那个。
0赞 ahak 10/31/2022
@HansPassant 什么意思?问题是为什么 UnhandledExceptionEventArgs .Exception.Stacktrace==null?
0赞 Hans Passant 10/31/2022
我看到一个包含 3 个方法的堆栈跟踪,它不建议 null。在我看来,您还没有推理出堆栈跟踪所说的内容,Notify() 本身会抛出异常。不知道为什么,可能与 BugsnagClient 的配置方式有关。
0赞 ahak 10/31/2022
@HansPassant 哦,是的,你是对的。可能是由于堆栈跟踪 == null?我在语句之前和之后设置了一个断点。之前有,但之后有。它与 , 有关吗?ifife.Exeption.Stacktraceife.Exception.Stacktrace==nullasyncawait

答: 暂无答案