How can I migrate from a Microsoft Symbol Server to Google Breakpad? -
our product generates minidump files in case goes wrong. run symbol server storing , accessing debug symbols of our builds such proper stack traces out of dump files.
since our product runs on other operating systems (in particular linux , os x), started @ google breakpad. appears use minidumps, , pdb files storage. however, wonder:
(how) can migrate existing symbol server google breakpad don't lose existing symbols? imagine other people did same move already, maybe there's common approach this?
you have few options:
run dump_syms (this tool processed pdbs text-based breakpad's .sym format, comes breakpad) on pdbs in server , upload them breakpad server (there couple options, use socorro). need keep running on new symbols builds care about.
request symbols server needed stack_walker when processing incoming crash (we haven't done that)
periodically missing symbols in last number of crashes, see if on symbol server, run them through dump_syms, upload .syms crash server send crashes reprocessing.
you need hit ms symbol servers system symbols, have implement 1 of later options that.
we've went option 3 system symbols, implementation heavily depends on crash server used (we using socorro crash-stats, not recommended configuration). there multiple python implementation of ms symbol server integration around. stack_walker know name , guid of symbol, can ignore pe parsing parts.
a catch aware of: there no concept of symbol server on osx , breakpad crash dumps useless there. reconstruct stack trace osx crash need access originating system binaries (to run them through dump_syms). might not possible. need manually build repository of osx symbols, see this: https://wiki.mozilla.org/breakpad:symbols
catch #2: windows using case insensitive fs (surprise), , generated pdbs lowercased linker no reason (while pe-binary using still referencing proper case). creates headaches if crash server running on *nix machine. consider extracting symbol name pe binary instead of relying on pdb file name in case.
catch #3: still need run symbol server debugging dump files uploaded breakpad (in case when stack trace not enough , want open dump in visual studio). bp uses symbol server, not replaces it.
Comments
Post a Comment