Android Breakpad dmp文件转文本文件

115 篇文章 0 订阅
25 篇文章 0 订阅

得到DMP文件,必须转成文本文件才能看崩溃调用栈,转化过程方法如下:
一、前提条件:
1、得到*.dmp文件
2、得到对应的代码obj路径下的*.so文件
3、我自己是在Linux(CentOS 6.5)下测试的,实在不知道在win7下怎么做


二、生成转换工具
1、下载BreakPad源代码
命令行输入:svn checkout http://google-breakpad.googlecode.com/svn/trunk/ google-breakpad-read-only

2、编译工具
①进入代码路径
cd google-breakpad-read-only/


②配置环境
./configure 


③编译工具
make


3、看看以下工具是否存在:
google-breakpad-read-only/src/tools/linux/dump_syms/dump_syms
google-breakpad-read-only/src/processor/minidump_stackwalk




三、把dmp文件转为txt文件:
1、建立一个空文件夹,里面放进四个必要文件
minidump_stackwalk
dump_syms
dd3023f-f8bd-37c3-46e78f56-151901b1.dmp(假设的dmp文件)
libgame.so(dmp文件对应的代码obj路径里的so文件)


2、准备symbols:
①导出symbols文件
./dump_syms libgame.so > libgame.so.sym


②建立symbols文件夹
创建文件夹 symbols/libgame.so/2D1C163A1347A1190B26F10560E926CE0
后面那个一堆乱数字是前一步生成的“libgame.so.sym”文件的第一行复制出来的


③复制libgame.so.sym到新文件夹中,最终它的路径:
symbols/libgame.so/2D1C163A1347A1190B26F10560E926CE0/libgame.so.sym


四、导出文本信息:
1、返回到第三步建立的那个文件夹的根部,执行
./minidump_stackwalk dd3023f-f8bd-37c3-46e78f56-151901b1.dmp symbols/ > DmpInfo20140228.txt


2、查看新文件“DmpInfo20140228.txt”里面就有崩溃文本信息


全文完

11:08 2014/2/28

20151130

如果看不到调用栈源代码,就用ndk工具来生成源代码文件和行数
arm-linux-androideabi-addr2line.exe -C -f -e ./xxx.so 0x186759

http://download.csdn.net/detail/lailizhen/7683649
这个下载版本可以用,别的很多版本无法生成dump_syms

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值