Mozilla Source and Symbol Server
This needs to be turned into a project...
IRC Log
09:24 < luser> i'm all about "debuggable release builds" now :)
09:25 < luser> i need to figure out how to setup a source server
09:25 < luser> that would rock
09:25 <@dave> luser: you'll have to teach me more
09:25 <@dave> luser: we can host it probably
09:25 <@dave> send me details
09:25 < luser> lemme give you a quick overview
09:25 < luser> on windows, you can build with debug info without building a debug build
09:25 < luser> you just get the pdbs
09:26 <@dave> yeah, I've seen that in .mozconfigs
09:26 < luser> you can also direct your debugger to look for symbols from a symbol server
09:26 < luser> so you can build a release build, put the pdbs on a website, and then you can debug that build and get hte symbols as needed
09:26 <@dave> right, I've heard about that (e.g., MS has one and symbols you can download for the OS)
09:26 < luser> right
09:26 <@dave> interesting
09:27 <@dave> so let's do it
09:27 < luser> http://ted.mielczarek.org/code/mozilla/firefox/nightly/latest-trunk/
09:27 < luser> http://mavra.perilith.com/~luser/airbag-symbols/
09:27 <@dave> or you've already done it
09:27 <@dave> ?
09:27 < luser> yeah, that code is checked in on trunk
09:27 < luser> we just need to figure out hte infrastructure for the symbol server etc
09:27 < luser> anyway
09:27 < luser> apparently that same architecture allows for a "source server"
09:28 < luser> so your debugger can locate source files while debugging
09:28 <@dave> that would be awesome.
09:28 < luser> conveniently, we already have all our source online, via lxr etc
09:28 < luser> so i think it should be doable
09:29 <@dave> well, if you want help, we should spec something for my guys to do
09:29 < luser> it would be pretty sweet if all our windows nightly/release builds were debuggable out of the box
09:29 * dave thinks luser should add this to the boston devday wiki
09:29 < luser> http://msdn2.microsoft.com/en-us/library/ms680641.aspx
09:29 < luser> that's the only thing i've seen about source server
09:31 < luser> actually yeah, this might be a good student project
09:31 < luser> i have a tinderbox setup at home to generate those builds+symbols
09:31 <@dave> I think this has promise
09:32 <@dave> is this ms source server perl stuff freely available?
09:32 <@dave> I bet we have it with our msdn license
09:32 < luser> *shrug*
09:32 < luser> i skimmed that page
09:32 < luser> that's it
09:34 <@dave> ok, I'm filing that under to-be-continued
09:34 <@dave> great ideas
Additional Resources
- MSDN articles on source server:
- Mozilla's symbol server: http://benjamin.smedbergs.us/blog/2007-06-11/debugging-official-builds-or-how-cool-is-the-mozilla-symbol-server/
- bonsai-test and bonsai-dev on landfill.mozilla.org support a "raw=1" parameter to get back a plain text version of a file at a specific revision.
- WinDbg comes with a perl script for doing some of this work, probably at C:\Program Files\Debugging Tools for Windows\sdk\srcsrv\cv2http.pl
- The symbolstore.py script in the Mozilla tree that builds the Breakpad symbol store already has support for grabbing CVS revision numbers