zoukankan      html  css  js  c++  java
  • android应用崩溃的调试方法(c++ lib so文件库崩溃)

    android调试工具addr2line使用:

    1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如:

    export PATH=$PATH:~/dlna/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin

    2.使配置生效:source ~/.bashrc

    3.使用工具。例如:arm-linux-androideabi-addr2line -C -f -e  ~/workspace/DLNA/libs/armeabi/libctrlpt.so 0003deb4

    其中,0003deb4为堆栈信息中pc的值。

    使用addr2line追踪自有动态库(so文件)的bug, 补充:
    解决出现 ??:0 , 没法展示源代码行数的问题

    在Android.mk 文件中:

    Java代码
    1. LOCAL_CFLAGS := -D__STDC_CONSTANT_MACROS -Wl,-Map=test.map -g  



    补充2个编译参数  -Wl,-Map=test.map -g .
    增加gcc警告和调试标志

    arm-linux-androideabi-addr2line -C -f -e /项目目录/obj/local/armeabi/libfaa_jni.so 0024362e

    tip: 1,注意调试文件的位置在obj目录下,并非libs目录下生成的so文件
           2,0024362e 为出错的机制位置

    还有:
    在jni/目录下增加Application.mk 文件, 修改为debug 模式,进行调试 APP_OPTIM := debug
    具体application.mk 文件的配置见: http://blog.csdn.net/weidawei0609/article/details/6561280

     

    -----凡是backtrace下带pc字样的地址都可以用NDK中或linux下的arm-linux-androideabi-addr2line工具将地址映射成函数名字。----定位到具体位置

     

  • 相关阅读:
    Linux 的grep命令显示日志文件指定前后行信息
    Windows下安装MySQL详细教程
    Maven安装配置(Windows10)
    Windows下配置Tomcat服务器
    java环境变量 的配置与详解
    工具使用篇-索引
    Fiddler抓包工具总结
    使用fiddler实现手机抓包
    网络安全-索引
    网络嗅探技术浅析
  • 原文地址:https://www.cnblogs.com/porter/p/3569466.html
Copyright © 2011-2022 走看看