I'm trying to use minidump-2-core on some of the breakpad crash files from our Linux builds and I'm not having much luck. gdb doesn't seem to like them. The core file loads into gdb and it says a few encouraging things, but mostly discouraging things:
No symbol table is loaded. Use the "file" command.
warning: core file may not match specified executable file.
[New LWP 30951]
[New LWP 30925]
[New LWP 30927]
[New LWP 30928]
[New LWP 30941]
[New LWP 30942]
[New LWP 30943]
[New LWP 30944]
[New LWP 30945]
[New LWP 30946]
[New LWP 30947]
[New LWP 30948]
[New LWP 30949]
[New LWP 30954]
[New LWP 30955]
[New LWP 30956]
[New LWP 30957]
[New LWP 30958]
[New LWP 30959]
[New LWP 30960]
[New LWP 30961]
[New LWP 30962]
[New LWP 30964]
[New LWP 30965]
Core was generated by `/home/magazino/.local/share/Steam/SteamApps/fooandbar/Team Fortress 2/hl2_linux'.
#0 0xf0c51136 in ?? ()
I've written a script that goes through the list of modules and uses the breakpad IDs to retrieve the shared objects into the correct directory, so I know that all of our shared objects are there and correct. However gdb warns that the core file might not match the specified executable file, and shows nothing but garbage for the call stacks:
(gdb) bt
#0 0xf7727430 in ?? ()
#1 0xf5f85018 in ?? ()
#2 0x1a4c96f8 in ?? ()
#3 0x00000000 in ?? ()
I could reconstruct the binaries in the same layout as the customer's file system, if that is what is needed, but I thought I'd ask first.