在Google Play控制台中分析或收集ANR的Xamarin堆栈跟踪

时间:2017-12-12 07:57:13

标签: c# android xamarin.android

我们在谷歌播放控制台中获得了“背景”(在广播接收器上)ANR的一些堆栈跟踪。但是所有人都看起来像这样:

"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 obj=0x7523b718 self=0xec085400
  | sysTid=13422 nice=0 cgrp=bg_non_interactive sched=0/0 handle=0xef6bb534
  | state=S schedstat=( 0 0 0 ) utm=74 stm=24 core=7 HZ=100
  | stack=0xff1ec000-0xff1ee000 stackSize=8MB
  | held mutexes=
  #00  pc 0000000000017520  /system/lib/libc.so (syscall+28)
  #01  pc 0000000000047cbd  /system/lib/libc.so (_ZL33__pthread_mutex_lock_with_timeoutP24pthread_mutex_internal_tbPK8timespec+520)
  #02  pc 000000000017e45c  /data/app/com.company.package-2/lib/arm/libmonosgen-2.0.so (???)

因此我们无法获得有关所发生情况的任何有用信息 - 代码分析没有给出任何信息。 有没有办法在ANR事件上收集C#堆栈?

1 个答案:

答案 0 :(得分:0)

有一个名为Xamarin.ANRWatchDog的软件包可以检测通过NugetGithub提供的Android ANR错误(应用程序无响应)。它是一个监视ANR的线程,然后针对所有线程引发堆栈跟踪错误。它从Salomon Brys's ANR-WatchDog移植到Xamarin。