Azure应用程序洞察使用调用堆栈进行调试

时间:2015-12-11 01:16:49

标签: c# azure uwp azure-application-insights .net-native

我正在尝试找出一种方法来调试我在Azure的应用程序洞察中收到的异常。 我是这种类型的调试的新手,因为我只是在Visual Studio中处理错误,而Visual Studio正在运行一个活动的调试器。但是,对于Application Insights,存在空引用异常,它们仅提供调用堆栈,并且没有有用的异常消息。

异常消息:Arg_NullReferenceException

调用堆栈:at SharedLibrary!<BaseAddress>+0x68d4c5 --- End of stack trace from previous location where exception was thrown --- at SharedLibrary!<BaseAddress>+0x329115 at SharedLibrary!<BaseAddress>+0x329207 at SharedLibrary!<BaseAddress>+0x34d603

其他例外情况包含Excep_FromHResult 0x800455A0等消息, 而其他人实际上展示了他们追溯的方法。

有没有办法通过解密callstack或Base Address或HResult找到这些异常的来源?

这对于消除我的应用中的错误非常有用。

1 个答案:

答案 0 :(得分:5)

更新:现在HockeyApp遥测堆栈支持此功能。请参阅:http://support.hockeyapp.net/kb/client-integration-windows-and-windows-phone/crash-reporting-for-uwp

使用.NET Native编译应用程序时,生成的二进制文件不包含.NET应用程序通常可用的所有丰富元数据。 (如果在使用.NET Native编译时调用Environment.StackTrace,则会得到相同的行为。)我们会将所有这些数据写入生成的pdb文件中,但它在运行时不可用。

这里的解决方案是使用pdb文件中的信息事后重建堆栈。我知道AppInsights团队在他们的积压工作中有这个,但它似乎没有发生。我们有一些我们试图发布的诊断工具,所以你可以自己进行这种重新组合,但是有一些麻烦让它们发布。

如果您发送邮件至dotnetnative@microsoft.com描述此问题,可能有助于润滑一些轮子。