【问题标题】:UWP Application Insights no call stack for crashesUWP Application Insights 没有崩溃的调用堆栈
【发布时间】:2016-02-25 12:02:24
【问题描述】:

我为一个新的 UWP 项目设置了 Application Insights。

我收到所有信息并正确崩溃,但是,当我尝试查看异常详细信息时,我得到了所有信息,但是:

  • 调用堆栈不可用
  • 方法失败:未知

我在 App.xaml.cs 构造函数中启用:

WindowsAppInitializer.InitializeAsync();

【问题讨论】:

  • Windows 10 uap?它是发布版本吗?如果你能重现崩溃,你可能想运行 fiddler,看看当 AI 发送它的输出时输出了什么输出,看看发送了什么数据。 Win 10 发布版本现在是 .net 原生的,所以例外基本上只是内存位置和偏移量,就像 C++ 代码一样......
  • 例如,看看这个问题,FileNotFoundException 在 win10 上的样子:stackoverflow.com/questions/33572396/…
  • 要获取 Windows 10 UAP 应用程序的完整故障转储信息,您可能需要使用 HockeyApp(Application Insights 组织的一部分)之类的工具,请参阅 support.hockeyapp.net/kb/…

标签: c# windows azure uwp azure-application-insights


【解决方案1】:

如果您可以自己处理异常,则可以将堆栈跟踪(以及其他任何内容)添加为自定义属性。在我们的应用中,我们使用全局异常处理程序,在 App 构造函数中初始化:

CoreApplication.UnhandledErrorDetected += UnhandledError;

处理程序本身大致如下:

private void UnhandledError(object sender, UnhandledErrorDetectedEventArgs eventArgs)
{
    try
    {
        eventArgs.UnhandledError.Propagate();
    }
    catch (Exception e)
    {
        var properties = new Dictionary<string, string>()
            {
                { "trace", e.StackTrace },
                { "mesage", e.Message },
            };

        telemetryClient.TrackCrash(e, properties);
    }
}

【讨论】:

    猜你喜欢
    • 2016-03-16
    • 2020-11-06
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2011-06-16
    相关资源
    最近更新 更多