Mirror of Google Breakpad project
Go to file
mkrebs@chromium.org d80f175c1a Add optional file size limit for minidumps
When there are upwards of 200 threads in a crashing process, each having an
8KB stack, this can result in a huge, 1.8MB minidump file.  So I added a
parameter that, if set, can compel the minidump writer to dump less stack.
More specifically, if the writer expects to go over the limit (due to the
number of threads), then it will dump less of a thread's stack after the
first 20 threads.

There are two ways to specify the limit, depending on how you write minidumps:
1) If you call WriteMinidump() directly, there's now a version of the
   function that takes the minidump size limit as an argument.
2) If you use the ExceptionHandler class, the MinidumpDescriptor object you
   pass to it now has a set_size_limit() method you would call before
   passing it to the constructor.

BUG=chromium-os:31447, chromium:154546
TEST=Wrote a size-limit unittest; Ran unittests
Review URL: https://breakpad.appspot.com/487002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1082 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-11-15 00:01:13 +00:00
android Fix the Android unit tests. 2012-10-09 17:15:06 +00:00
autotools Fix Android build of client library 2012-06-27 14:04:52 +00:00
m4 Issue 378 - Don't compile Linux client libraries on non-Linux systems 2010-08-31 15:09:01 +00:00
src Add optional file size limit for minidumps 2012-11-15 00:01:13 +00:00
aclocal.m4 Refactor the logic of resolving source line info into helper class. 2012-10-10 21:41:52 +00:00
AUTHORS Make build system less annoying (#8) r=bryner 2006-08-30 20:05:05 +00:00
ChangeLog Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
codereview.settings Add codereview.settings so we can use gcl. 2010-06-19 02:48:54 +00:00
configure Refactor the logic of resolving source line info into helper class. 2012-10-10 21:41:52 +00:00
configure.ac Add custom getcontext() implementation for Android. 2012-08-31 18:38:29 +00:00
COPYING Relicense to BSD (#29). r=bryner 2006-09-20 21:16:16 +00:00
DEPS Delete svn:executable from the DEPS file. Hans has a badly configured client on Windows? 2010-05-18 01:46:59 +00:00
INSTALL Add logging to minidump processor (#82). First part: logging infrastructure 2007-05-17 18:34:37 +00:00
Makefile.am Refactor the logic of resolving source line info into helper class. 2012-10-10 21:41:52 +00:00
Makefile.in Refactor the logic of resolving source line info into helper class. 2012-10-10 21:41:52 +00:00
NEWS Initial import, which includes the Windows client-side dump_syms tool, and 2006-08-25 21:14:45 +00:00
README Update readme and fix glog properties. 2010-08-13 18:49:03 +00:00
README.ANDROID Fix README.ANDROID + formatting 2012-09-05 08:08:53 +00:00

Breakpad is a set of client and server components which implement a
crash-reporting system.


-----
Getting started in 32-bit mode (from trunk)
Configure: CXXFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32 ./configure
    Build: make
     Test: make check
  Install: make install

If you need to reconfigure your build be sure to run "make distclean" first.


-----
To request change review:
0. Get access to a read-write copy of source.
   Owners at http://code.google.com/p/google-breakpad/ are able to grant
   this access.

1. Check out a read-write copy of source using instructions at
   http://code.google.com/p/google-breakpad/source/checkout

2. Make changes. Build and test your changes.
   For core code like processor use methods above.
   For linux/mac/windows, there are test targets in each project file.

3. Download http://codereview.appspot.com/static/upload.py

4. Run upload.py from the 'src' directory:
   upload.py --server=breakpad.appspot.com

   You will be prompted for credential and a description.

5. At http://breakpad.appspot.com you'll find your issue listed; click on it,
   and select Publish+Mail, and enter in the code reviewer and CC
   google-breakpad-dev@googlegroups.com

6. When applying code review feedback, specify the '-i' option when running
   upload.py again and pass the issue number so it updates the existing issue,
   rather than creating a new one.
   Be sure to rerun upload.py from the same directory as you did for previous
   uploads to allow for proper diff calculations.