Index: docs/mozilla_brown_bag_talk.md |
diff --git a/docs/mozilla_brown_bag_talk.md b/docs/mozilla_brown_bag_talk.md |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8322d244372e80acba984c3e1b91bd9eb0be55d7 |
--- /dev/null |
+++ b/docs/mozilla_brown_bag_talk.md |
@@ -0,0 +1,84 @@ |
+# 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 |
+ * HTTP[S](S.md) 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 |
+ * http://mavra.perilith.com/~luser/airbag-collector/list.pl |
+* Other platforms coming soon |
+ |
+## More Information |
+ |
+* Project home: http://code.google.com/p/google-breakpad/ |
+* Mailing lists |
+ * [google-breakpad-dev@googlegroups.com] |
+ (http://groups.google.com/group/google-breakpad-dev/) |
+ * [google-breakpad-discuss@googlegroups.com] |
+ (http://groups.google.com/group/google-breakpad-discuss/) |
+* Ask me (irc.mozilla.org: mento) |