正文  软件开发 > 编程综合 >

Android dump .so 文件crash log

众所周知,在android系统上,有时候我们遇到so文件的crash只能打log,但是很多时候并不知道crash在什么地方,幸运的是crash后,一般可以产生一个.dmp文件。我们可以根据这...

众所周知,在android系统上,有时候我们遇到so文件的crash只能打log,但是很多时候并不知道crash在什么地方,幸运的是crash后,一般可以产生一个.dmp文件。

我们可以根据这个文件来得到更为详细的statck trace。

主要用的就是google提供的一些方法,命令太复杂,很容易出错,所以我写了一个python脚本,简化步骤。

 

 

#! /usr/bin/env python


import os
import sys

if len(sys.argv) < 3:
    print(please check your parameter)
    exit(-1)

soFile = sys.argv[1]
dmpFile = sys.argv[2]

print soFile,
print dmpFile

symFile = soFile + .sym

#dumple sym file
os.system(./dump_syms  + soFile  +  >  + symFile)

#get directory information
ret = os.popen(head -n1  + symFile).read()
arry = ret.strip().split( )
dirName = arry[3]
symPath = ./symbols/ + soFile + / + dirName

#create directory
os.system(mkdir -p  + symPath)
os.system(mv  + symFile +   + symPath)

#minidump to log file
os.system(./minidump_stackwalk  + dmpFile +  ./symbols > crashlog)