ndk-stack 学习使用

原创 2014年04月04日 17:06:46

最近在mac上编译android 版本,各种崩溃让人蛋疼,网上学习了下ndk-stack使用方法。

自己备忘下:

1.运行终端。 跳转到你android sdk 目录 因为你的adb 在里面。

如 cd /Users/name/Android/adt-bundle-mac-x86_64-20131030/sdk/platform-tools 

2、找了路径正确继续下一步,./adb logcat | 你android ndk-stack所在的路径 -sym /你安卓工程.so文件所在的目录

./adb logcat | /Users/name/Android/android-ndk-r8e/ndk-stack -sym /Users/name/test/proj.android/obj/local/armeabi

3、正确配置后会在终端出现

- waiting for device -

4、AndroidManifest.xml 设置 Debuggable 为true  在Application 切页中

5、另外启动一个终端 编译android工程

6、ADT连接设备运行你的工程就行了,出现崩溃的话会在你前面配置的终端里面打印出来。

********** Crash dump: **********

Build fingerprint: 'Xiaomi/aries/aries:4.1.1/JRO03L/JLB29.0:user/release-keys'

pid: 6546, tid: 6575, name: Thread-9654  >>> com.cocos2dx.SanGo <<<

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad

Stack frame #00  pc 00013a78  /system/lib/libc.so

Stack frame #01  pc 00015e55  /system/lib/libc.so (dlfree+1628)

Stack frame #02  pc 00017003  /system/lib/libc.so (free+10)

Stack frame #03  pc 004965e8  /data/data/com.cocos2dx.test/lib/libgame.so (cocos2d::CCImage::~CCImage()+88): Routine __static_initialization_and_destruction_0 in /Users/name/Sango_Android/test/libs/cocos2dx/platform/android/CCApplication.cpp:127

Stack frame #04  pc 0049664c  /data/data/com.cocos2dx.teset/lib/libgame.so (cocos2d::CCImage::~CCImage()+20): Routine CCLog in /Users/name/test/libs/cocos2dx/platform/android/CCCommon.cpp:36

重要的就是 cpp 行号。为我们定位崩溃地点很有作用,再结合程序的打印输出位置,就能很快定位问题了。


 

ndk-stack的使用

这是对ndk-stack使用文档的翻译,文档所在的路径是:\android-ndk-r9d\docs\NDK-STACK.html 介绍: 这篇文档描述的是ndk-stack工具,从R6版本起...
  • c_boy_lu
  • c_boy_lu
  • 2015年11月13日 10:22
  • 796

ndk-stack定位不出崩溃代码行的问题

NDK开发包中自带的NDK-STACK工具可以
  • flying8127
  • flying8127
  • 2014年11月03日 17:54
  • 2637

ndk_stack打印native层崩溃堆栈

ndk-stack定位native层崩溃堆栈
  • ss182172633
  • ss182172633
  • 2016年04月15日 13:38
  • 523

使用 ndk-stack 寻找Android程序Crash的原因

开篇废话很久不研究cocos2d-x了,也不知道如今发展如何了。先前写游戏时会分几块。 主要功能代码都是用C++编写,编辑器用vs android平台相关功能使用 Java 编写,编辑器用 Eclip...
  • change_from_now
  • change_from_now
  • 2016年12月02日 17:02
  • 2990

Android NDK开发Crash错误定位

在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很...
  • xyang81
  • xyang81
  • 2015年01月01日 19:50
  • 27133

基于unity3d游戏的android版本逆向初探

https://bbs.pediy.com/thread-212532.htm 【文章标题】: 基于unity3d游戏的android版本逆向初探 【文章作者】: dreaman 【作者邮箱...
  • OnafioO
  • OnafioO
  • 2017年10月31日 20:35
  • 1150

android使用ndk-stack调试JNI部分的C/C++代码

法一:使用ndk-stack输出调用堆栈 我这里的ndk-stack位置为:/home/hwh/Android_Project/Environment/android-ndk-r8e 'ndk...
  • oldmtn
  • oldmtn
  • 2013年05月06日 11:50
  • 15593

ndk-stack的使用

问题及解决方法 jni开发过程中native崩溃log样式如下 F/libc (12115): Fatal signal 11 (SIGSEGV) at 0x37413144 (code=1),...
  • cheyiliu
  • cheyiliu
  • 2015年12月11日 22:26
  • 1989

android ndk-stack使用说明。

  • 2012年03月19日 16:51
  • 570B
  • 下载

ndk-stack使用

1. so库要改成debug模式,在application.apk下加入APP_OPTIM := debug,然后重新编译so库 2 cmd下进入ndk的安装目录,必须进入 3. 执行命令 ad...
  • jdksym
  • jdksym
  • 2016年04月05日 21:45
  • 613
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ndk-stack 学习使用
举报原因:
原因补充:

(最多只允许输入30个字)