Difference between revisions of "Mozilla Source and Symbol Server"

From CDOT Wiki
Jump to: navigation, search
(Additional Resources)
(rewrite)
Line 1: Line 1:
 
'''This needs to be turned into a project...'''
 
'''This needs to be turned into a project...'''
  
= IRC Log =
+
Mozilla has a [http://developer.mozilla.org/en/docs/Using_the_Mozilla_symbol_server 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.
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
+
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 [http://msdn2.microsoft.com/en-us/library/ms680641.aspx 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.
 
 
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 =
 
= Additional Resources =

Revision as of 09:43, 10 September 2007

This needs to be turned into a project...

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.

Additional Resources