The steam binaries are stripped of symbol info and debug info, so gdb can't get a useful backtrace. Lots of entries like this:
#7 0xf5d8e64b in ?? () from /home/craig/.local/share/Steam/ubuntu12_32/steamui.so
#8 0xf5d966f5 in ?? () from /home/craig/.local/share/Steam/ubuntu12_32/steamui.so
when I'm debugging a core dump.
Since the core dumps are about 200MB, I can't really attach them to a bug report - and anyway, you're unlikely to have exactly the same system libraries etc, so even if you have the exact same Steam binaries you'll need a bunch of libraries and debuginfos from my system to usefully debug the dump.
To keep download sizes small you don't need to bundle the debug info in the main Steam binaries. You should produce detached debuginfo (just like pdb files for Linux) during Steam builds, and provide a helper script that fetches them for the currently installed Steam client version. gdb can then be pointed at the debuginfos when examining core dumps or interactively debugging Stream.
The steam binaries are stripped of symbol info and debug info, so
gdbcan't get a useful backtrace. Lots of entries like this:when I'm debugging a core dump.
Since the core dumps are about 200MB, I can't really attach them to a bug report - and anyway, you're unlikely to have exactly the same system libraries etc, so even if you have the exact same Steam binaries you'll need a bunch of libraries and debuginfos from my system to usefully debug the dump.
To keep download sizes small you don't need to bundle the debug info in the main Steam binaries. You should produce detached debuginfo (just like pdb files for Linux) during Steam builds, and provide a helper script that fetches them for the currently installed Steam client version.
gdbcan then be pointed at the debuginfos when examining core dumps or interactively debugging Stream.See: http://sourceware.org/gdb/current/onlinedocs/gdb/Separate-Debug-Files.html
Essentially, when required, download the debuginfos into a
.debugdirectory inside the Steam binary directory (unless you choose to use build IDs).To split debuginfo, use:
then strip
fooas normal.