打印tombstone堆栈脚本

快速打印tombstone中堆栈对应函数和源码位置的命令:
将生成的堆栈信息,如
         #00  pc 000110d8  /system/lib/libc.so
         #01  pc 00050b44  /system/lib/libopencore_common.so
         #02  pc 0005094e  /system/lib/libopencore_common.so
         #03  pc 000efc58  /system/lib/libopencore_player.so
         #04  pc 000ebe44  /system/lib/libopencore_player.so
         #05  pc 000ec0b6  /system/lib/libopencore_player.so
         #06  pc 000161dc  /system/lib/libmediaplayerservice.so
         #07  pc 000162b2  /system/lib/libmediaplayerservice.so
         #08  pc 00016962  /system/lib/libmediaplayerservice.so
         #09  pc 00017a32  /system/lib/libmediaplayerservice.so
         #10  pc 000375dc  /system/lib/libmedia.so
 
注意不要包含其它内容,保存到linux android编译环境根目录下的某个文件如stack.txt,设置好编译环境后(不然会找不到arm-eabi-addr2line),运行:
awk '{for (i = 0; i <NF; ++i){if (i%4==3) system("arm-eabi-addr2line -f -e out/target/product/ua8200/symbols"$(i+1)" "$i)}}' < stack.txt
 
注意其中的product name ua8200根据实际情况修改,本例中得到结果如下:
pthread_key_delete
/home/sw/xgm/msm7x30/gingerbread/bionic/libc/bionic/pthread.c:1705
_ZN15OsclTLSRegistry7cleanupER13Oscl_DefAllocRi
/home/sw/xgm/msm7x30/gingerbread/external/opencore/oscl/oscl/osclbase/src/oscl_tls.cpp:181
_ZN8OsclBase7CleanupEv
/home/sw/xgm/msm7x30/gingerbread/external/opencore/oscl/oscl/osclbase/src/oscl_base.cpp:67
_Z21UninitializeForThreadv
/home/sw/xgm/msm7x30/gingerbread/external/opencore/android/thread_init.cpp:106
_ZN7android13doUsePVPlayerEPKc
/home/sw/xgm/msm7x30/gingerbread/external/opencore/android/playerdriver.cpp:2248
_ZN7android8PVPlayer11usePVPlayerEPKc
/home/sw/xgm/msm7x30/gingerbread/external/opencore/android/playerdriver.cpp:2383
_ZN7androidL20getDefaultPlayerTypeEPKc
/home/sw/xgm/msm7x30/gingerbread/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp:686
_ZN7android13getPlayerTypeEPKc
/home/sw/xgm/msm7x30/gingerbread/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp:791
_ZN7android18MediaPlayerService6Client13setDataSourceEPKcPKNS_11KeyedVectorINS_7String8ES5_EE
/home/sw/xgm/msm7x30/gingerbread/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp:867
_ZN7android18MediaPlayerService6createEiRKNS_2spINS_18IMediaPlayerClientEEEPKcPKNS_11KeyedVectorINS_7String8ES9_EEi
/home/sw/xgm/msm7x30/gingerbread/frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp:263
_ZN7android20BnMediaPlayerService10onTransactEjRKNS_6ParcelEPS1_j
/home/sw/xgm/msm7x30/gingerbread/frameworks/base/media/libmedia/IMediaPlayerService.cpp:169
 
输出格式为
函数名
源文件:行数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值