【Android】使用NDK定位Crash
来源:互联网 发布:阿里云个人邮箱smtp 编辑:程序博客网 时间:2024/06/08 16:58
有时app或者游戏突然崩溃只提示如下信息,要查找错误的原因感觉有点无从下手,因为提示信息太少了。
02-27 10:57:15.736: A/libc(32000): Fatal signal 11 (SIGSEGV) at 0x0000000c (code=1), thread 32014 (Thread-1461)
02-27 10:57:15.736: A/libc(32000): Send stop signal to pid:32000 in debugger_signal_handler
这时,可以使用NDK提供的ndk-stack工具定位crash位置,步骤如下:
1.打开cygwin。
2.进入NDK根目录。
cd $NDK_ROOT
3.连接安卓设备,打开调试模式。
4.使用adb logcat获取日志信息并通过管道把信息传输给ndk-stack工具进行分析。
$ adb logcat | ./ndk-stack -sym $ANDROID_PROJECT_PATH/obj/local/armeabi
$ANDROID_PROJECT_PATH表示安卓工程根目录,armeabi是当前设备的CPU架构。
示例:$ adb logcat | ./ndk-stack -sym /cygdrive/d/Cocos2d-x/cocos2d-x-2.2.1/projects/AngryBirds/proj.android/obj/local/armeabi
5.打开app或游戏,进行crash的那个操作。
这是ndk-stack分析出来的crash信息,可以看到crash发生在JsonParser的getAllSprite方法中。
参考文章:https://developer.android.com/ndk/guides/ndk-stack.html
- 【Android】使用NDK定位Crash
- Android studio下使用ndk-stack定位crash
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- Android NDK开发Crash错误定位
- 无法加载 mysql (外链,英语) 扩展,请检查您的 PHP 配置 windows 2008 Server
- Linux rpm 命令参数使用详解[介绍和应用]
- 想学JS的原型和闭包吗?COME ON(8)
- 想学JS的原型和闭包吗?COME ON(9)
- 想学JS的原型和闭包吗?COME ON(10)
- 【Android】使用NDK定位Crash
- 并发无锁队列UnlockQueue(单生产者单消费者kfifo)
- jQuery 获取DOM节点的两种方式
- iOS开发--不使用UINavigationController实现Push动画
- Android Fragment 真正的完全解析(下)
- JSP内置对象——请求转发与请求重定向的区别
- 想学JS的原型和闭包吗?COME ON(11)
- CentOS 修改源为163和指定epel源和Docker安装
- git学习(1)