zoukankan      html  css  js  c++  java
  • ndk工具使用之armeabiaddr2line 【转http://www.2cto.com/kf/201207/140136.html】

    ndk工具使用之arm-eabi-addr2line
     

     
    $ arm-eabi-addr2line.exe --help
    Usage: arm-eabi-addr2line [option(s)] [addr(s)]
     Convert addresses into line number/file name pairs.
     If no addresses are specified on the command line, they will be read from stdin
     The options are:
      @<file>                Read options from <file>
      -b --target=<bfdname>  Set the binary file format
      -e --exe=<executable>  Set the input file name (default is a.out)
      -i --inlines           Unwind inlined functions
      -j --section=<name>    Read section-relative offsets instead of addresses
      -s --basenames         Strip directory names
      -f --functions         Show function names
      -C --demangle[=style]  Demangle function names
      -h --help              Display this information
      -v --version           Display the program's version


    arm-eabi-addr2line: supported targets: elf32-littlearm elf32-bigarm elf32-little elf32-big srec symbolsrec tekhex binary ihex
    Report bugs to <http://www.sourceware.org/bugzilla/>

    作用:
    so绝对地址到代码行数的计算,以及相关代码行数信息的获取
    注意点:
    1.绝对地址=so加载的起始地址 - 当前出错代码地址(如pc,或lr等)
    2.so必须是要附号信息的
    常用实例:
    [java] 
    arm-eabi-addr2line.exe -C -f -e ./xxx.so 0x186759 

    另外附一个例子 

    使用addr2line实现查看C代码栈中的信息定位到程序的代码。(个人理解,直白点就是当我的程序出现bug后,会在eclipse的logcat一些错误信息,但是C代码只会打印出栈中的信息)

    1。 addr2line工具所在目录:D:\android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin

    2。 android工程所在目录:  定位到你工程的要目录即可. (PROJECT_HOME)

    3。执行:D:\android-ndk-r8\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-addr2line.exe -e PROJECT_HOME\obj\local\armeabi\出错的.so

    4。输入要查看的地址信息。

    addr2line工具的使用

    上图可做为参考!

    首先进入android工程所在目录,执行addr2line -e *.so文件,后面根据logcat打出来信息查找错误。

    附代码定位参考图:

    addr2line工具的使用

  • 相关阅读:
    【转】js 获取浏览器高度和宽度值(多浏览器)
    Css相册
    微信公众号开发笔记2-自定义菜单
    微信公众号开发笔记1-获取Access Token
    【转】CSS选择器笔记
    【转】CSS浮动(float,clear)通俗讲解
    高云的jQuery源码分析笔记
    经典闭包例子详解
    执行控制——节流模式
    图片上下左右的无缝滚动的实现
  • 原文地址:https://www.cnblogs.com/songtzu/p/2989307.html
Copyright © 2011-2022 走看看