simple-breakpad-server的构建和使用
1 介绍
simple-breakpad-server是 收集google-breakpad发送的崩溃报告的简单服务器,可以实现dump文件的收集和解析。
2 git链接
https://github.com/acrisci/simple-breakpad-server
3 项目构建
- 安装node js, http://nodejs.cn/download/current/
- 进入simple-breakpad-server文件夹下,运行
npm install .
出现错误时,根据提示缺少什么安装什么。
- 把mindumptools文件夹下的dump_syms.exe minidump_dump.exe minidump_stackwalk.exe symupload.exe 拷贝到 simple-breakpad-server\node_modules\minidump\deps\breakpad文件夹下,替换原来的exe文件。
mindumptools 文件链接:
https://download.csdn.net/download/sinat_35178307/12969249
- 进入simple-breakpad-server文件夹下,运行以下命令启动服务
npm run-script serve
F:\mygitwork\simple-breakpad-server>npm run-script serve
simple-breakpad-server@1.0.0 serve
F:\mygitwork\simple-breakpad-server
grunt serve
Local Npm module "grunt-shell" not found. Is it installed?
Running "express:dev" (express) task
Starting background Express server
DEPRECATION WARNING: The logging-option should be either a function or false. Default: console.log
Running "watch" task
Waiting...
Executing (default): SELECT `id`, `os`, `name`, `code`, `arch`, `contents`, `created_at`, `updated_at` FROM `symfiles` AS `symfiles`;
Symfile loading finished
Listening on port 1127
- 启动后再浏览器输入
localhost:1127
可以打开网页
4 安装问题解决
- npm 清理缓存
npm cache clean -f
- 提示错误 npm ERR! Failed at the XXX@X.X.X install script
npm install XXX@X.X.X --ignore-scripts
5 文件上传
1. dmp文件上传
- 使用curl 上传
curl -F upload_file_minidump=@4518a021a4-9404-4cc1-a250-9cda41eccc97.dmp -F ver="0.0.1" -F prod=cef localhost:1127/crashreports
- 用 multipart/form-data 上传
2. 符号文件上传:
curl -F symfile=@test.sym localhost:1127/symfiles
6 符号文件.sym文件的生成
- 把pdb文件拷贝到应用安装目录下,保证dll文件和pdb文件在同级目录下
- 拷贝dump_sym.exe 到安装目录下,运行命令:
dump_syms.exe App.pdb >App.sym