我为客户开发了一个 UWP应用:由于我们遇到了一些无法在我的设备上重现的错误,我们已经实施了崩溃报告解决方案
我第一次使用像这样的HockeyApp来使用崩溃报告:
HockeyClient.Current.Configure("xxxxxx",
new TelemetryConfiguration() { EnableDiagnostics = true })
.SetExceptionDescriptionLoader((Exception ex) =>
{
return "Exception HResult: " + ex.HResult.ToString();
});
但正如another topic所解释的那样,报告了崩溃,但这并不能让我发现问题,因为我没有足够的细节。 / p>
因为有人建议我已将 .pdb文件从商店上传到HockeyApp:但这次来自崩溃的符号和 .pdf文件中的符号没有。匹配。
我决定使用 TrackEvent 来分析问题。我通过添加:
对功能进行了一些测试Microsoft.HockeyApp.HockeyClient.Current.TrackTrace("MyViewModel - CheckUser()");
但是HockeyApp中没有报告事件 ...
=>你有解释吗?我忘了什么吗?我将在商店发布一个新包并将.pdb文件重新上传到HockeyApp,但我不知道我能做些什么......
由于 AppCenter 现在可用于UWP,我已经完成了相同的测试。我已经像这样实施了AppCenter:
AppCenter.Start("xxxxxx-xxx"
, typeof(Analytics)
, typeof(Crashes));
但与HockeyApp不同,崩溃根本没有报道。 AppCenter可以很好地识别应用程序,因为在" Crashes"上添加了一个条目。应用程序启动时带有当前版本号的选项卡。
我还添加了以下事件:
Analytics.TrackEvent("MyViewModel - CheckUser()");
但这次事件在AppCenter中得到了很好的报道。
=>有没有人在UWP上使用AppCenter进行崩溃报告?还有什么要补充的吗?
现在我必须使用2个工具,但它并没有真正帮助:
=>您是否有其他可以帮助我的建议或工具?
答案 0 :(得分:0)
我决定使用TrackEvent来分析问题...但HockeyApp中没有报告事件...
如果要使用TrackEvent,则需要使用TrackEvent()API而不是TrackTrace()。
HockeyClient.Current.TrackEvent("Button Clicked");
您可以通过登录帐户检查HockeyApp仪表板中的自定义事件 - >点击应用 - >事件
请注意,自定义事件不会立即显示,通常需要大约10-15分钟。它也有限制。见here。
正如您所提到的,您需要将正确的.pdb文件上传到HockeyApp仪表板,然后才会对崩溃进行符号化。
您上传的应用似乎是商店版本。因此您需要从Windows Dev Store下载.pdb文件。见here。
您可以通过比较崩溃中的.pdb和二进制映像的ID来检查它是否是正确的。例如, 两者都是e5502c5ddc5748a899a8182d8a52a659,这意味着.pdb文件是正确的。
此外,为了获得符号化崩溃,您需要确保您所做的崩溃来自商店版本(从Windows应用商店下载)。您不能使用测试版或使用.pdb直接从Visual Studio崩溃您的应用。存储。
至于AppCenter,它是下一代HockeyApp,它仍在预览中。 Windows上的崩溃报告现在要求通过Windows应用商店分发应用程序,但尚未支持版本崩溃。 您可以参考官方文档here。 但从长远来看,它将取代HockeyApp,因此您可以等待App Center的正式发布。
答案 1 :(得分:0)
我们也遇到了与您相同的问题,但好消息是,您现在也可以使用AppCenter SDK进行崩溃报告。 https://docs.microsoft.com/en-us/appcenter/sdk/crashes/uwp。 你完成它的方式应该适用于新版本的NuGet:
AppCenter.Start( “XXXXXX-XXX” ,typeof(分析) ,typeof(Crashes));
我用比以前更新版本的NuGet做了一个小测试,现在是1.4,我正在测试
Crashes.GenerateTestCrash();
当您在以前的版本中尝试过此操作时,intellisense表示它尚未用于UWP,但现在可以执行。
在AppCenter门户中浏览测试崩溃但是,显示“我们的结果出了问题”。这可能会“加速”加班,但表示App Center中的Crash报告确实仍在预览中。
我还建议使用“导出”功能到Application Insights深入挖掘日志。