Mozilla Source and Symbol Server
Contents
Overview
Mozilla has a symbol server for Windows builds that allows developers or users to debug nightly and release builds without having to ship debug symbols along with the builds. This can be very useful when a user has a problem that developers can't reproduce, or when you hit a crash or hang during your normal browsing, not using a debug build.
While this is very useful, it doesn't provide source-level debugging. You can see function names and call stacks, but not the source at the location, which makes stepping through code very difficult. Luckily, Microsoft does provide a means to add source info to debug symbols, called a source server. Your mission is to sort through the Microsoft documentation and figure out how to add this to the existing Mozilla symbol server. The reward is having hundreds of developers and untold numbers of end users thank you for making life easier, and difficult crashes easier to fix.
Project Name
Mozilla Source and Symbol Server
Project Description
Create a source code server to work with Mozilla's current symbol server. This will allow users to do full debugs of nightly release builds with access to remote symbols and full source code.
Project Leader(s)
Project Contributor(s)
As soon as I know what kind of contributions will be useful, I will post a call for help here. Keep checking back.
Thanks!
Project Details
Related Bugs
- Bug 385792: Compress PDB files
- Bug 395310: Mozilla needs a source and symbol server
- Uploading PDB files (fixed)
0.1 Release
* set up a localhost server * make buildsymbols from local build * load those symbols onto the local server * connect them up to my debugger to make sure it all works * get the microsoft scripts to work adding source code to my local pdb files * so that the debugger can access the source code from being pointed to my server
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