android 通过adb 和 ndk调试堆栈
打开终端 , 输入以下命令, armeabi是应用编译好的.so库的路径
adb logcat|ndk-stack -sym ./armeabi/
如果堆栈报错,会弹出报错内容。
如下:
C:\Users\JC>adb logcat | E:\Users\android-ndk-r10c\ndk-stack -sym "F:\aofei-new\frameworks\runtime-src\proj.android\obj\local\armeabi"
********** Crash dump: **********
Build fingerprint: 'Huawei/H30-T00/hwH30-T00:4.2.2/HuaweiH30-T00/C00B149:user/ota-rel-keys,release-keys'
pid: 22716, tid: 22771, name: Thread-4817 >>> com.joygames.hhw.alpha <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 2c55e3ab
Stack frame I/DEBUG (22996): #00 pc 008920e0 /data/app-lib/com.joygames.hhw.alpha-1/libgame.so (std::__detail::_Hash_code_base<std::string, std::pair<std::string const, std::string>, std::__detail::_Select1st, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node<std::pair<std::string const, std::string>, true> const*, unsigned int) const+40): Routine std::__detail::_Hash_code_base<std::string, std::pair<std::string const, std::string>, std::__detail::_Select1st, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::_M_bucket_index(std::__detail::_Hash_node<std::pair<std::string const, std::string>, true> const*, unsigned int) const at E:/Users/android-ndk-r10c/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/hashtable_policy.h:1272
Stack frame I/DEBUG (22996): #01 pc 00891bb8 /data/app-lib/com.joygames.hhw.alpha-1/libgame.so (std::_Hashtable<std::string, std::pair<std::string const, std::string>, std::allocator<std::pair<std::string const, std::string> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, f+40): Routine std::_Hashtable<std::string, std::pair<std::string const, std::string>, std::allocator<std::pair<std::string const, std::string> >, std::__detail::_Select1st, std::equal_to<std::string>, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_bucket_index(std::__detail::_Hash_node<std::pair<std::string const, std::string>, true>*) const at E:/Users/android-ndk-r10c/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/hashtable.h:610
android 通过adb 和 ndk调试堆栈的更多相关文章
- cocos2dx Android 环境搭建 以及 ndk调试
最近在学习cocos2dx,真的很强大,使我们更专注于游戏趣味,免去了繁琐的底层框架代码. cocos2dx的最强大之处当然在于跨平台.跨平台首选当然是Android,好记性不如烂笔头,记下本文分享给 ...
- Android 通过ADB Wireless无线调试应用
使用数据线调试应用难免不方便,本篇博客介绍使用ADB Wireless工具.当手机和电脑处在同一网络下.实现无线调试应用. ADB Wireless可以让手机用无线来代替USB连接.而使用ADB工具的 ...
- Android通过adb命令Debug调试
Android Debug后IDE执行的命令: / ::: Launching module_app $ adb push C:\fastwork\Projects\project\CJPT\modu ...
- android studio ndk 调试
一: 先看看用 ndk-gdb 手动调试 这种方法只适用于手动编写 Android.mk 的情况,因为我们要手动 build debug 版本的 .so 文件.具体可以参考我的前一篇文章. 1 And ...
- adb链接手机调试android应用
adb链接手机调试android应用 hulk@hulk-Lenovo:~$ adb devices List of devices attached ???????????? no permiss ...
- Android系统移植与调试之------->如何添加一个adb wifi无线调试的功能【开发者选项】-【Wifi调试】
首先弄懂怎么设置adb wifi无线调试的功能,如下所示. 1. 手机端开启adb tcp连接端口 :/$setprop service.adb.tcp.port :/$stop adbd :/$st ...
- Android NDK调试出错Unknown Application ABI, Unable to detect application ABI's的解决方式
今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...
- Android:adb命令详解
什么是adb adb工具即Android Debug Bridge(安卓调试桥) tools.它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互
- Android内核的编译和调试
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70500488 一.Android内核源码的选择 Android手机设备内核源码的调 ...
随机推荐
- 黑马MyBatis入门day1
package com.itheima.domain; /* CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username ...
- [题解](gcd/欧拉函数)luogu_P2568_GCD
求gcd(x,y)=p等价于求gcd(x/p,y/p)=1,转化为了n/p内互质的个数 所以欧拉函数,因为有序所以乘2,再特判一下只有在1,1情况下才会重复计算,所以每次都减一 数组开小一时爽,提交w ...
- vim如何删除行首、行位空格、空格行
删除空格行: 非编辑状态下输入:g/^$/d 删除行首空格: 非编辑状态下输入:%s/^\s*//g 删除行尾空格: 非编辑状态下输入:%s/\s*$//g
- 集合中的 for-Each循环
数组的加强型的for-Each循环很简单,我们再来看一下集合中的for-Each 循环又是怎么样的.我们都知道集合中的遍历都是通过迭代(iterator)完成的.也许有人说,也可以按照下面的方式来遍 ...
- MySQL创建用户+授权+备份
======权限管理====== 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作.包括select.update.delete.update.grant等操作. 那么一般情况在公司 ...
- Ubuntu常用指令集
Ubuntu Linux 操作系统常用命令详细介绍 ( 1)Udo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有 root 权限)su root 切换 ...
- Nuxt使用记录
代码及插件需要根据环境引入 (服务端没有window,document,浏览器端没有global) const myPlugins = { install(Vue, options) { Vue.pr ...
- js动态更换img的src问题
在本地开发测试过程中,通过js动态更换img的src没有问题,图片正常切换,但是放在服务器上后测试发现,图片不显示,解决方法为:在对应onclick事件执行切换图片的js函数后加上一个return f ...
- 第二十章 排查和调试Web程序 之 设计异常处理策略
1. 概述 本章内容包括: 多层架构中的异常处理.使用global.asax 或 自定义的HttpHandler 或 web.config中的属性来显示特定的错误页.处理 first chance 异 ...
- 3.Freshman阶段学习内容的确定
我刷知乎.在知乎上答题的程序员,不是很牛逼就是更牛逼,说起各种系统.各种系统的各种版本.各种语言.数据库.算法.IT届的各种圣战都有板有眼.信手拈来.头头是道,不得不服.这导致了一些非常严重的问题:我 ...