標籤:android class code c tar http
眾所周知,在android系統上,有時候我們遇到so檔案的crash只能打log,但是很多時候並不知道crash在什麼地方,幸運的是crash後,一般可以產生一個.dmp檔案。
我們可以根據這個檔案來得到更為詳細的statck trace。
主要用的就是google提供的一些方法,命令太複雜,很容易出錯,所以我寫了一個python指令碼,簡化步驟。
詳情可以參考 https://code.google.com/p/google-breakpad/wiki/LinuxStarterGuide
#! /usr/bin/env pythonimport osimport sysif len(sys.argv) < 3: print("please check your parameter") exit(-1)soFile = sys.argv[1]dmpFile = sys.argv[2]print soFile,print dmpFilesymFile = soFile + ".sym"#dumple sym fileos.system("./dump_syms " + soFile + " > " + symFile)#get directory informationret = os.popen("head -n1 " + symFile).read()arry = ret.strip().split(" ")dirName = arry[3]symPath = "./symbols/" + soFile + "/" + dirName#create directoryos.system("mkdir -p " + symPath)os.system("mv " + symFile + " " + symPath)#minidump to log fileos.system("./minidump_stackwalk " + dmpFile + " ./symbols > crashlog")