android 通过adb 和 ndk调试堆栈
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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调试堆栈的主要内容,如果未能解决你的问题,请参考以下文章