gpt4 book ai didi

安卓 JNI : root-causing deadd00d (dvmAbort)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:32 24 4
gpt4 key购买 nike

对许多 StackOverflow 问题的评论指出,故障地址 deadd00d 表示有意的 VM 中止。

I DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadd00d

确实,当通过 ndk-stack 运行日志时,我看到堆栈帧的顶部解码为:

Stack frame #00  pc 00050b0e  /system/lib/libdvm.so (dvmAbort)

然后评论说要更早地在您的日志中查找问题。我到底在寻找什么——是否有要搜索的特定标签或字符串? (也许是 dalvikvm?)我翻阅了许多页的日志,但没有找到任何相关信息——这是正常的,还是应该紧接在故障之前?

deadd00d 最常发生在对 GetObjectClass() 的特定调用中。我试过在该行之前立即调用 env->ExceptionCheck,但它没有报告任何先前的错误。

我也试过打开 CheckJNI

adb shell setprop debug.checkjni 1

根据说明 herehere ,但是当终止并重新启动该应用程序时,我没有看到预期的消息

D Late-enabling CheckJNI

而是

D AndroidRuntime: CheckJNI is OFF

使用 adb shell getprop 表示该属性确实是打开的,所以我不确定那里发生了什么。

最佳答案

如果是native crash,可以搜索“b​​acktrace”它会指向本地代码方法崩溃的地方,而不是你应该分析的方法,

关于安卓 JNI : root-causing deadd00d (dvmAbort),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com