mini-breakpad-server 轻量级崩溃报告收集服务器
因为C++客户端用的是,electron自带的crash-reporter,如果服务端也是electron,这样子可以省去不少调试的时间。
安装mini-breakpad-server
# git clone https://github.com/electron/mini-breakpad-server.git # https://github.com/electron/electron/releases/download/v2.0.0/electron-v2.0.0-darwin-x64-symbols.zip # unzip electron-v2.0.0-darwin-x64-symbols.zip # cp -r electron-v2/electron.breakpad.syms/* mini-breakpad-server/pool/symbols/ mini-breakpad-server/pool# tree . ├── database │ └── dirty │ └── db //这个文件,会记录请求时的参数 ├── files │ └── minidump │ ├── 286caa0e-192a-4a38-b052-4d690a53c09c //收集的crash reporter │ ├── 949d7cf3-007e-49a0-a124-cf0b8eb35986 //收集的crash reporter │ ├── bd1e48ca-f7ea-471d-bc36-475816c2efad │ ├── bdf1d304-6e1b-4d66-8e59-ac325e2b7552 │ └── e3d2195b-e0ee-4b6d-b8e3-b54e1f7e8476 └── symbols ├── Accelerate │ └── 07DD68BE0B1D36F186389A9C9BEF5FB00 │ └── Accelerate.sym ├── AE │ └── 0BDA9D80369839DBB481465DE086373F0 │ └── AE.sym ├── AppContainer │ └── B76C2BBED71D3EB3BFEF59E83C5E12270 │ └── AppContainer.sym ├── AppKit │ └── 9DC2FD21BDE438988FA81A897564A6350 │ └── AppKit.sym ├── Apple80211 │ └── 11076A375C693A1C9539BA274D6BC4DB0 │ └── Apple80211.sym ├── AppleFSCompression │ └── D9CD490811153C3EA68DA29DA53D1D730 │ └── AppleFSCompression.sym 。。。。。。。。。。。。。。。省略。。。。。。。。。。。。。。。 # cd mini-breakpad-server # npm install . //注意点号 # grunt # node lib/app.js Listening on port 1127
mini-breakpad-server官方github安装说明文档中有一个Put your breakpad symbols under pool/symbols/PRODUCT_NAME,对于这个一直很晕,其实官方没有说清楚,就是把electron symbols插件放到入mini-breakpad-server中。
上图,可以看到收集的文件列表,这些文件,不要用文本打开,打开后,是一些看不懂的数字
4d44 4d50 93a7 0000 0700 0000 2000 0000 0000 0000 1056 e95a 0000 0000 0000 0000 0700 0000 3800 0000 7400 0000 0f00 0000 4003 0000 bc00 0000 0300 0000 3403 0000 fc03 0000 0600 0000 a800 0000 0059 0000 0400 0000 6403 0000 805e 0000 0100 5043
可以直接点击链接地址,这样mini-breakpad-server会转换成能看得懂的内容。