繁体   English   中英

看到本机崩溃(“内存冲突”,sig = 11),而不是Android堆栈跟踪

[英]Seeing native crash (“memory violation”, sig=11) instead of Android stack trace

最近,在似乎应该看到托管崩溃和Android堆栈跟踪的情况下,我的应用程序中发现了更多本机崩溃。 如果发生本机崩溃,应用程序将立即关闭,而不会出现“不幸的是your_app_name已停止”框。 而且,我看到的不是代替logcat中不错的Android堆栈跟踪:

04-01 16:07:53.165 1263-1263/? E/audit: type=1701 msg=audit(1459544873.165:4214): auid=4294967295 uid=10535 gid=10535 ses=4294967295 subj=u:r:untrusted_app:s0 pid=2372 comm="app.debug" reason="memory violation" sig=11

为了测试这一点,我故意在OnClickListener的onClick()方法内使用以下代码生成了NullPointerException:

Log.v("debugtag", "" + ((String)null).length());

我确定这会导致Android堆栈跟踪,但我只看到了与本机崩溃相关的输出。 显然有一些东西在干扰异常处理。

我注意到,这是在升级到Flurry 6.3.0之后开始发生的。 有人看到过这种情况吗?

我降级到Flurry 6.2.0,这个问题消失了。 与预期的一样,我现在看到的不是完整的崩溃,而是完整的Android堆栈跟踪。

使用Flurry 6.3.0调试应用程序时,我注意到有时在本机崩溃之前有时会遇到Flurry的uncaughtException()方法。 反编译的Flurry代码显然被混淆了。 在“ ma”类中,有一个私有内部类“ a”,它实现UncaughtExceptionHandler。 在内部类“ a”的uncaughtException()方法中,这是我看到的前四行代码:

ma var3 = ma.this;
Throwable var8 = var2;
Thread var7 = var1;
Set var9 = var3.c();

在执行最后一行代码时,调试会话结束,并且发生本机崩溃。

我已经将这种情况报告给Flurry。 我尚不知道这是我的应用程序所特有的东西,还是Flurry的问题。 我将在此处更新,以获取其他信息。

确实尝试过在调用FlurryAgent.setCaptureUncaughtExceptions(false)之前先调用FlurryAgent.setCaptureUncaughtExceptions(false) ),但是本机崩溃仍然会发生。

更新:Flurry报告了其6.3.1版本中修复的问题。 根据他们的发行说明 ,在6.3.0中引入的问题仅影响调试版本,而不影响发行版本。

同样在这里。 必须降级到6.2.0才能解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM