得到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”里面就有崩溃文本信息
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐