android 通过adb 和 ndk调试堆栈

笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述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

    推荐阅读