调试步骤:
一:在ndk目录中找到add2line工具
我的目录是: /Users/aiven/Library/Android/sdk/ndk-bundle/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-addr2line
为了方便使用,将此目录加入环境变量,以后可以直接调用arm-linux-androideabi-addr2line
二:定位问题
进入ijkplayer工程的根目录,然后调用
arm-linux-androideabi-addr2line -C -f -e ./android/ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a/libijkplayer.so 00010de1
切记,一定要用obj目录下的so,如果用了libs下的,则无法定位到具体行号。
正常结果是:
ijkmp_prepare_async_l——出问题的函数
/Users/aiven/Works/openSource/ijkplayer/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia/ijkplayer/ijkplayer.c:392——定位到具体行号
ok,本次介绍就到此完毕。