最近又频繁遇到 NDK 的错误,记录一下debug调试的一些经验,以备后续查看

一般来说,在Android Studio中的Monitor中将过滤器的 LOG TAG 设置为 “DEBUG” 就可以将所有的JNI的错误显示出来了。如果看不明白报错信息,就要用到下面的工具。

ndk-stack

Usage:
ndk-stack -sym [-dump ]
-sym Contains full path to the root directory for symbols.
-dump Contains full path to the file containing the crash dump.
This is an optional parameter. If ommited, ndk-stack will read input data from stdin
See docs/NDK-STACK.html in your NDK installation tree for more details.

使用方法,adb logcat | ./ndk-stack -sym "xxxx",用 -sym 指定编译生成的 .so 文件的位置,最新版本的Android studio 的 .so 文件的位置是
project/build/intermediates/cmake/debug/obj/armeabi/xxxxxx.so
其中 armeabi 视条件改变

官方教程说指定目录是 $PROJECT_PATH/obj/local/armeabi 我现在使用最新的 android studio 配合 cmake 开发,已经没有这样的目录了。

可以用 -dump 来分析 tombstone 文件,其位置在 /data/tombstones/ 注意该目录需要root权限。

另外,下面链接文中提到的 addr2line 在最新的ndk中已经找不到了,估计是被弃用。目前的ndk开发文档中只有对ndk-gdb 和 ndk-stack 的介绍。

参考链接
Android NDK Tombstone/Crash 分析

最新文章

  1. IT人生知识分享:概率与运气
  2. java基础知识(一)数据类型(下)
  3. warning C4305: “=”: 从“int”到“unsigned char”截断解决方法[zz]
  4. Python排列组合实验
  5. Net开发环境配置
  6. (转)C#使用Mysql记录
  7. apache开源项目--Mahout
  8. JavaScript-学习一加载不动
  9. TCP的流量控制(转载)
  10. 蘑菇街2015校招技术类笔试题A卷,回忆版(杭州站)
  11. 转 : ANT 调用sqlplus 客户端
  12. 创建,删除DOM
  13. [经验分享]WebAPI中返回类型JsonMessage的应用
  14. 学习java一个月的进展
  15. srs之深入浅出看流媒体
  16. React Refs
  17. 斯坦福大学公开课机器学习:Neural network-model representation(神经网络模型及神经单元的理解)
  18. 如何代码隐藏email而用户又能看到
  19. .NET 三层框架
  20. Java相关工具下载、配置环境变量

热门文章

  1. Jade模板引擎让你飞
  2. 【AR实验室】ARToolKit之Example篇
  3. 【Machine Learning】KNN算法虹膜图片识别
  4. ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
  5. java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出
  6. 自定义Inspector检视面板
  7. MVVM TextBox的键盘事件
  8. WebSocket - ( 一.概述 )
  9. c# Enumerable中Aggregate和Join的使用
  10. App 审核由于 IPv6 网络问题被拒