Breakpad/Design/Client

From MozillaWiki
Jump to: navigation, search

« back to Breakpad design page

Breakpad Client Design and Requirements

  • Platform integration for Windows, Mac OS X, Linux
  • UI parity with Mozilla products
  • crash minidumps will be stored on the user HD automatically. NOTE: need to delete on "Clear Private Data"
  • opt-in control for users to participate in sending data at all, and confirmation before sending any individual blackbox. also the ability to supply e-mail contact info, last visited site, and comments about activity leading up to the crash.
  • Collect and send data to Breakpad Server** Product info (product, version, platform, build id, airbag version)
    • System information
      • os version
      • processor, processor speed
      • available and in use memory and diskspace
      • screen size resolution and any available info on graphic system
      • process list for other programs that might be in use and conflicting
      • command line start up options --
      • extensions loaded (new)
      • we could also consider improvements like auto filling crash url with info out of history, or send a recent history list under user control.
    • Stability statistics (total runtime, time since last crash, crash frequency, etc.)
    • Minidumps automatically contain the list of DLLs in the process that crashed, which will give us plugin data
  • Store incident queue/history
  • Talkback also has the ability to receive config changes back from the server to control operations of the client. This is useful for such things as controls for shutting down the client for obsolete versions, slow down the transmission re-try rate or for another throttling mechanisms.
  • It seems like, with some cleverness in recording symbol-offsets for various functions, we might be able to cause the client to analyze interesting stack variables in frames it recognizes. Perhaps this would allow us to collect information about JS (python?) code that was running at the time of the crash?