mini-breakpad-server
mini-breakpad-server copied to clipboard
How to create breakpad symbols
Hey, I run the mini-breakpad-server
on my server and it's collecting the reports correctly from my Electron app, however I don't know how to create breakpad symbols (for windows, OSX, Linux) to work with my Electron app, could you give me a hint please? thanks
There is documentation on Google on how to generate symbols using their utils https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/linux_starter_guide.md And it points to this Python tool which is supposed to dump out the symbols https://dxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/tools/symbolstore.py
Electron posts the symbols on their releases page: https://github.com/electron/electron/releases. Hope this helps!
@bobbyg603 I'm also confused with this symbol problem, thanks for you links. So I just need to download the symbol file from that link and put electron.breakpad.syms
in folder pool/symbols/PRODUCT_NAME
under the mini-breakpad-symbols
and everything works, is that correct? So each electron app use the same symbol?
Would like to know too!
Posterity: I found that you need to put the symbols under pool/symbols
NOT pool/symbols/PRODUCT_NAME
. That is, if I do tree pool
I get:
pool/
├── database
│ └── dirty
│ └── db
├── files
│ └── minidump
│ ├── 7d20d0d2-a867-422f-9539-1b7dcd644988
│ └── e655f7f8-f934-4f8e-8381-c88909f4ebc3
└── symbols
├── AE
│ └── 0BDA9D80369839DBB481465DE086373F0
│ └── AE.sym
├── ATS
│ └── 0F3E2B9678A9388D8D4AB9F9B42AE21F0
│ └── ATS.sym
├── AVFAudio
│ └── B036C6FCA3D030D3962030D16A149C9F0
│ └── AVFAudio.sym
├── AVFoundation
│ └── 1747E5C62CCA335B860FD1321071184F0
│ └── AVFoundation.sym
├── Accelerate
│ └── 07DD68BE0B1D36F186389A9C9BEF5FB00
│ └── Accelerate.sym
├── AppContainer
│ └── B76C2BBED71D3EB3BFEF59E83C5E12270
│ └── AppContainer.sym
├── AppKit
│ └── 2A8C9B80E63238BCAA80371F2A4F10CE0
│ └── AppKit.sym
...
├── Electron
│ └── C11B8E11EDD237B99AB55FE9E97FFFFB0
│ └── Electron.sym
├── Electron\ Framework
│ ├── 1108DB54511E3E4996C0FA01A31886F10
│ │ └── Electron\ Framework.sym
│ └── 8C33827C51A430938BA6977833ADA7230
│ └── Electron\ Framework.sym
@ibash it worked. Do the symbols of the latest electron release include the older ones? Or do i need to load the appropriate version of the symbols to debug an older minidump?
@fttx I don’t think they do, you’d have to load the older ones afaik.
Also since I posted this sentry came out with support for crashlogs, if running a production app I’d also recommend taking a look at that
目录应该是这样:symbols/electron.exe.pdb/994757D4933F4FFF84BEDCEB9DF361EA1/electron.exe.sym,其中994757D4933F4FFF84BEDCEB9DF361EA1是head electron.exe.sym生成的MODULEID
What does this PRODUCT_NAME stand for? I find mary symbol package in https://github.com/electron/electron/releases/tag/v4.2.4, Does this symbol package version refer to the server system?
目录应该是这样:symbols/electron.exe.pdb/994757D4933F4FFF84BEDCEB9DF361EA1/electron.exe.sym,其中994757D4933F4FFF84BEDCEB9DF361EA1是head electron.exe.sym生成的MODULEID
你是怎么把dump post上去的啊
目录应该是这样:symbols/electron.exe.pdb/994757D4933F4FFF84BEDCEB9DF361EA1/electron.exe.sym,其中994757D4933F4FFF84BEDCEB9DF361EA1是head electron.exe.sym生成的MODULEID
你是怎么把dump post上去的啊 submitURL: 'http://172.18.39.244:1127/post',
For those trying to generate their own symbols for a custom electron version, looks like there's an electron-build-tools target for doing so, e build electron:electron_symbols
seems to do it