Andoid 利用ndk-stack定位崩溃代码
2015-12-15 17:52
387 查看
Android NDK自从版本R6开始, 提供了一个工具
ndk-stack( 在目录
{ndk_root}/中 ). 这个工具能自动分析dump下来的crash log, 将崩溃时的调用内存地址和c++代码一行一行对应起来.
执行命令
ndk-stack --help
Usage: ndk-stack -sym <path> [-dump <path>] -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
-dump参数很容易理解, 即dump下来的log文本文件.
ndk-stack会分析此文件.
-sym参数就是你android项目下,编译成功之后,
obj目录下的文件.
示范一下:
$ adb logcat | ndk-stack -sym ./obj/local/armeabi ********** Crash dump: ********** Build fingerprint: 'htc_wwe/htc_bravo/bravo:2.3.3/ GRI40/96875.1:user/release-keys' pid: 1723, tid: 1743 >>> com.packtpub.droidblaster <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000000c Stack frame #00 pc 00010a2c /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine update in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/TimeService.cpp:25 Stack frame #01 pc 00009fcc /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine onStep in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/DroidBlaster.cpp:53 Stack frame #02 pc 0000a348 /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine run in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/EventLoop.cpp:49 Stack frame #03 pc 0000f994 /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine android_main in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/Main.cpp:31 ref from:http://www.cnblogs.com/jhzhu/p/3801640.html
相关文章推荐
- spring常用工具类
- 使用 Spring AOP控制Controller输出
- Scalaz(18)- Monad: ReaderWriterState-可以是一种简单的编程语言
- Scalaz(18)- Monad: ReaderWriterState-可以是一种简单的编程语言
- python 使用 BeautifulSoup 解析html
- Github上传代码菜鸟超详细教程
- java 多个设备,锁定先后顺序
- MQTT入门(玩)
- 为什么需要maven
- Java位运算的简单介绍及个人理解!
- 【Struts2】入门知识点
- 【Java Web】Myeclipse下运用maven管理项目jar包
- day8 python学习随笔(上)
- phpcms调用全部频道栏目及子栏目代码详解
- 探究 Windows 下编译的栈空间 以及 DEV C++工具栈空间的调整(设置)
- delphi 中 image 控件加载bmp、JPG、GIF、PNG等图片的办法
- C++嵌入Python,以及两者混用
- 通过Spring Session实现新一代的Session管理
- C++构造函数详解及显式调用构造函数
- ASP.NET使用ImageMap控件