美文网首页
22.Eclipse下Ndk开发(使用ndk自带工具addr2l

22.Eclipse下Ndk开发(使用ndk自带工具addr2l

作者: 任振铭 | 来源:发表于2018-03-26 08:39 被阅读23次
    D:\application\java\android-ndk-r10e\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin>arm-linux-androideabi-addr2line -e C:\rzm\code\workspace-android\ndk_openSL\obj\local\armeabi\libOpenSLAudioPlayer.so 00001d4b
    C:\rzm\code\workspace-android\ndk_openSL/jni/OpenSLAudioPlayer.cpp:230
    

    进入ndk目录下
    D:\application\java\android-ndk-r10e\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin>

    使用工具arm-linux-androideabi-addr2line执行命令

    arm-linux-androideabi-addr2line -e C:\rzm\code\workspace-android\ndk_openSL\obj\local\armeabi\libOpenSLAudioPlayer.so 00001d4b
    

    其中-e表示的是错误级别
    C:\rzm\code\workspace-android\ndk_openSL\obj\local\armeabi\libOpenSLAudioPlayer.so表示的是发生错误的so文件

    00001d4b表示的是logcat打印出来的地址

    也就是说只要你能定位到发生错误的地址,那么就可以使用这个命令将这个地址转换成代码中的具体在第几行,

    D:\application\java\android-ndk-r10e\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin>arm-linux-androideabi-addr2line -e C:\rzm\code\workspace-android\ndk_openSL\obj\local\armeabi\libOpenSLAudioPlayer.so 00001d4b
    C:\rzm\code\workspace-android\ndk_openSL/jni/OpenSLAudioPlayer.cpp:230
    

    可以看到错误发生在\rzm\code\workspace-android\ndk_openSL/jni/OpenSLAudioPlayer.cpp文件的第230行

    具体的平台根据实际开发选择,这里是以arm为例

    相关文章

      网友评论

          本文标题:22.Eclipse下Ndk开发(使用ndk自带工具addr2l

          本文链接:https://www.haomeiwen.com/subject/ulelcftx.html