window10 、 QtCreater 、 mingw编译器
编译参考Qt Windows系统使用QBreakpad实战
下面接受如何 根据 翻译 dump文件
1.Qt的release配置中加入如下配置,能生成pdb信息.
win32-g++ {
#加入调试信息
QMAKE_CFLAGS_RELEASE += -g
QMAKE_CXXFLAGS_RELEASE += -g
QMAKE_CFLAGS_DEBUG += -g
QMAKE_CXXFLAGS_DEBUG += -g
#禁止优化
QMAKE_CFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE -= -O2
#release在最后link时默认有"-s”参数,表示"Omit all symbol information from the output file",因此要去掉该参数
QMAKE_LFLAGS_RELEASE =
}
2通过cv2pdb.exe生成pdp信息(test.exe是崩溃的可执行文件)
cv2pdb test.exe
3. 利用dump_syms.exe 根据生成的pdb生成符号信息
dump_syms test.pdb ./symbols > test.sym
4.打开test.sym ,第一行是符号信息地址相关的,必须通过这个才能加载符号。
类似:”MODULE windows x86_64 08D0DCDC6FC941D1B2155F47D42A7A771 test.pdb“
然后在可执行程序目录下新建ymbols/UGRTCCenter.pdb/4ADAAA32BE87447D8F8247ACBBC802B41 目录,并把test.sym复制获取
5.minidump_stackwalk ./crashes/e1372b93-bcd3-4196-bb9f-7cf33eefb46a.dmp ./symbols > test.txt
6.如可根据test.txt 定位还待研究