mirror of
https://github.com/yuzu-emu/breakpad
synced 2024-11-23 02:33:39 +00:00
11d7510c08
code.google.com is obsolete. Fix all broken markdown links while at it. Change-Id: I6a337bf4b84eacd5f5c749a4ee61331553279009 Reviewed-on: https://chromium-review.googlesource.com/411800 Reviewed-by: Mike Frysinger <vapier@chromium.org>
2.3 KiB
2.3 KiB
Breakpad Crash Reporting for Mozilla
- January 24, 2007
- Links updated February 14, 2007
- Mozilla HQ
- Mark Mentovai
- Brian Ryner
What is a crash reporter?
- Enables developers to analyze crashes that occur in the wild
- Produces stack backtraces that help identify how a program failed
- Offers higher-level data aggregation (topcrashes, MTBF statistics)
Motivation
- Talkback is proprietary and unmaintained
- Smaller open-source projects have few options
- Larger projects need flexibility and scalability
Design Options
- Stackwalking done on client
- Apple CrashReporter
- GNOME BugBuddy
- Client sends memory dump
- Talkback
- Windows Error Reporting
- Breakpad
Goals
- Provide libraries around which systems can be based
- Open-source
- Cross-platform
- Mac OS X x86, PowerPC
- Linux x86
- Windows x86
- No requirement to distribute symbols
Client Libraries
- Exception handler installed at application startup
- Spawns a separate thread
- Minidump file written at crash time
- Format used by Windows debuggers
- Separate application invoked to send
- HTTPS POST, can include additional parameters
Symbols
- Cross-platform symbol file format
- Contents
- Function names
- Source file names and line numbers
- Windows: Frame pointer omission data
- Future: parameters and local variables
- Symbol conversion methods
Processor
- Examines minidump file and invokes stackwalker
- Symbol files requested from a SymbolSupplier
- Produces stack trace
- Output may be placed where convenient
Intergation
- Breakpad client present in Gran Paradiso Alpha 1 for Windows
- Disabled by default
- Enable with
MOZ_AIRBAG
- Proof-of-concept collector
- Other platforms coming soon
More Information
- Project home: https://chromium.googlesource.com/breakpad/breakpad
- Mailing lists
- Ask me (irc.mozilla.org: mento)