Application Insights不报告自定义属性和调用堆栈

时间:2015-12-12 11:00:34

标签: c# uwp azure-application-insights

我正在使用以下方法记录不同的异常,该方法接受异常以及一些上下文信息字符串。

public void LogException(string notes, Exception e)
{
    var properties = new Dictionary<string, string>()
    {
        { "notes", notes }
    };

    telemetry.TrackException(e, properties);
}

正确报告了异常,但缺少

  • 自定义属性“notes”
  • 调用堆栈

enter image description here

1 个答案:

答案 0 :(得分:1)

是实际抛出的例外吗?你抓到那个例外吗?如果你这样做

client.TrackException( new Exception() );

某些操作系统/运行时不会有堆栈帧。

但如果你这样做

try
{
   throw new Exception();
}
catch (Exception e)
{
    client.TrackException( e );
}

获得堆栈跟踪。关于抛出异常的行为实际上填充了sdk使用的底层框架。

对于您的自定义属性,应立即显示,但有时会在第一次发送的新自定义属性与作为要显示的字段的元数据中显示之间存在延迟。此外,您限制为200个不同的命名自定义属性,因此如果您已经发送了200个其他属性,那么“notes”字段将被丢弃。

一般来说,对于UWP / release / .net native,你应该仍然有框架,它们只是不太可读,它们将是内存地址,但仍然有一堆它们,如果您有pdb等,您可以对其进行逆向工程。

虽然上面看起来像“灾难性故障”异常可能没有堆栈框架可用吗?