UWP Application Insights 没有崩溃的调用堆栈

Posted

技术标签:

【中文标题】UWP Application Insights 没有崩溃的调用堆栈【英文标题】:UWP Application Insights no call stack for crashes 【发布时间】: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 上的样子:***.com/questions/33572396/… 要获取 Windows 10 UAP 应用程序的完整故障转储信息,您可能需要使用 HockeyApp(Application Insights 组织的一部分)之类的工具,请参阅 support.hockeyapp.net/kb/… 【参考方案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);
    

【讨论】:

以上是关于UWP Application Insights 没有崩溃的调用堆栈的主要内容,如果未能解决你的问题,请参考以下文章

Application Insights 数据采样

ILogger 到 Application Insights

Application Insights URL 分组

Azure Application Insights 不显示数据

更改 Application Insights 的位置?

处于调试模式时的 Application Insights