• java 调用 库文件错误查找方法


    第一步首先找到 backtrace:keyword,然后找到都应的库文件 出错的地方 pc 0000088b  /system/lib/libNDK_04.so (SayHello+98)。

    08-13 17:08:28.041 I/DEBUG   (  163): backtrace:

    08-13 17:08:28.041 I/DEBUG   (  163):     #00  pc 00021fc0  /system/lib/libc.so (tgkill+12)
    08-13 17:08:28.041 I/DEBUG   (  163):     #01  pc 00013081  /system/lib/libc.so (pthread_kill+48)
    08-13 17:08:28.041 I/DEBUG   (  163):     #02  pc 00013295  /system/lib/libc.so (raise+10)
    08-13 17:08:28.041 I/DEBUG   (  163):     #03  pc 00011fc9  /system/lib/libc.so
    08-13 17:08:28.041 I/DEBUG   (  163):     #04  pc 00021874  /system/lib/libc.so (abort+4)
    08-13 17:08:28.041 I/DEBUG   (  163):     #05  pc 0004b11b  /system/lib/libdvm.so (dvmAbort+78)
    08-13 17:08:28.041 I/DEBUG   (  163):     #06  pc 0002d454  /system/lib/libdvm.so (IndirectRefTable::get(void*) const+252)
    08-13 17:08:28.041 I/DEBUG   (  163):     #07  pc 0004f9b7  /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+30)
    08-13 17:08:28.041 I/DEBUG   (  163):     #08  pc 00051b75  /system/lib/libdvm.so

    08-13 17:08:28.041 I/DEBUG   (  163):     #09  pc 0000088b  /system/lib/libNDK_04.so (SayHello+98)


    第二步

    arm-linux-androideabi-addr2line -C  -f -e  out/target/product/ndp959/symbols/system/lib/libNDK_04.so  0000088b

    第三步 

    得到:

    /home/hlwang/tian/Tshark/ndp959/development/samples/NDK_04/jni/Provider.c:118


    定位到库文件的那一行出错。

    第四步

    慢慢改吧。


    一些细节能够參考:

    http://doc.okbase.net/xyang81/archive/121689.html

    http://blog.sina.com.cn/s/blog_702c2db50102vc2h.html

    http://blog.csdn.net/lubeijing2008xu/article/details/37569809

    http://blog.chinaunix.net/uid-58110-id-2733429.html

  • 相关阅读:
    [并发编程] 进程、线程
    100. 相同的树
    Python 问题集
    this关键字在函数中的应用
    去除列表右边框
    JS——作用域
    javascript——值传递!!
    null和undefined的区别?
    浏览器内核——四大主流
    http常用状态码
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6915263.html
Copyright © 2020-2023  润新知