笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述android 通过adb 和 ndk调试堆栈相关的知识,希望能为你提供帮助。
打开终端 , 输入以下命令, armeabi是应用编译好的.so库的路径
adb logcat|ndk-stack -sym ./armeabi/
如果堆栈报错,会弹出报错内容。
如下:
【android 通过adb 和 ndk调试堆栈】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):#00pc 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):#01pc 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精美聊天界面
- Android Spinner列表选择框
- Android 手机卫士--获取联系人信息并显示与回显
- Android开发学习之路-LeakCanary使用
- 如何在android中运行C语言程序
- Android TV开发总结构建一个TV app前要知道的事儿
- Android开发有用的三方网站
- Android Studio 引入Lambda表达式
- Android之自定义控件-下拉刷新