android-ndk - 如何调试 mapbox 崩溃
问题描述
我的 mapbox 库发生了冗余崩溃com.mapbox.mapboxsdk:mapbox-android-sdk:6.1.1
在 logcat 上,我得到了这个堆栈:
pid: 4960, tid: 4960, name: [...] >>> [...] <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
r0 00000000 r1 6b9faf17 r2 0000010f r3 00000001
r4 00000000 r5 b4d96a80 r6 00000003 r7 bef0db50
r8 bef0dae0 r9 b4db6500 sl bef0dbb0 fp b4db6500
ip b4cfc94c sp bef0da88 lr b499dc29 pc 9fdc9ebc cpsr 60060030
backtrace:
#00 pc 00095ebc /data/app/[...]/lib/arm/libmapbox-gl.so
#01 pc 00097545 /data/app/[...]/lib/arm/libmapbox-gl.so
#02 pc 00097587 /data/app/[...]/lib/arm/libmapbox-gl.so
#03 pc 000eaa29 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
#04 pc 000e6331 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
#05 pc 004028a5 /system/lib/libart.so (art_quick_invoke_stub+188)
#06 pc 007fccdc [stack]`
并试图为libmapbox-gl.so
with获得一个明确的行号ndk-stack
,我只得到了:
Build fingerprint: 'google/hammerhead/hammerhead:6.0.1/M4B30Z/3437181:user/release-keys'
pid: 4960, tid: 4960, name: [...] >>> [...] <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
Stack frame #00 pc 00095ebc /data/app/[...]/lib/arm/libmapbox-gl.so: Routine ??
??:0
Stack frame #01 pc 00097545 /data/app/[...]/lib/arm/libmapbox-gl.so: Routine ??
??:0
Stack frame #02 pc 00097587 /data/app/[...]/lib/arm/libmapbox-gl.so: Routine ??
??:0
Stack frame #03 pc 000eaa29 /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
Stack frame #04 pc 000e6331 /system/lib/libart.so (art_quick_invoke_stub_internal+64)
Stack frame #05 pc 004028a5 /system/lib/libart.so (art_quick_invoke_stub+188)
Stack frame #06 pc 007fccdc [stack]
这是我的ndk-stack
命令:$ANDROID_LIB_PATH/sdk/ndk-bundle/ndk-stack -sym $PROJECT_PATH/app/build/intermediates/transforms/mergeJniLibs/servertest/release/0/lib/x86_64/ -dump logcat.txt
如何获取发生崩溃的行号?
解决方案
推荐阅读
- laravel - Laravel Eloquent orWhere 没有按预期工作
- angular - Angular - 延迟加载 2 个模块并需要共享相同的服务
- containers - 在 AWS ECS 中,服务之间如何通信?(协议,最佳实践)
- python - 如何函数调用同一类python中的另一个函数
- python - 使用 If 和 Elif 修复
- javascript - 如何拆分 0 天 15 小时 1 分钟 0 秒并将其分配到 java 脚本中的不同变量中?
- language-agnostic - 如何找到从一点到地球表面路径的最短距离
- angular - Angular 表单组在提交时未返回
- ocaml - OCaml:此表达式的类型为 int,但表达式应为 MyFoo.ty 类型(MyFoo.ty 为 int 除外)
- javascript - 在不影响没有 iframe id 的父页面的情况下刷新 iframe