blob: caefdd28c3dbb62bb1dae62d1a66ffdb9f125afb [file] [log] [blame] [view]
Andy Bonventre0ff15b42015-09-22 17:29:52 -04001# Breakpad
2
3Breakpad is a set of client and server components which implement a
4crash-reporting system.
5
Mike Frysinger081cbd62016-01-14 13:32:20 -05006* [Homepage](https://chromium.googlesource.com/breakpad/breakpad/)
7* [Documentation](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/)
8* [Bugs](https://bugs.chromium.org/p/google-breakpad/)
9* Discussion/Questions: [google-breakpad-discuss@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-discuss)
10* Developer/Reviews: [google-breakpad-dev@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-dev)
Jon Turneyd4676b82017-02-10 14:32:44 +000011* Tests: [![Build Status](https://travis-ci.org/google/breakpad.svg?branch=master)](https://travis-ci.org/google/breakpad) [![Build status](https://ci.appveyor.com/api/projects/status/eguv4emv2rhq68u2?svg=true)](https://ci.appveyor.com/project/vapier/breakpad)
Mike Frysinger83a55522016-06-21 11:14:28 -040012* Coverage [![Coverity Status](https://scan.coverity.com/projects/9215/badge.svg)](https://scan.coverity.com/projects/google-breakpad)
Mike Frysinger081cbd62016-01-14 13:32:20 -050013
Ted Mielczarek8b7b2862016-06-03 13:32:14 -040014## Getting started (from master)
Andy Bonventre0ff15b42015-09-22 17:29:52 -040015
Ted Mielczarek8b7b2862016-06-03 13:32:14 -0400161. First, [download depot_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools)
Mark Mentovaif5638b82016-07-22 14:42:46 -040017 and ensure that theyre in your `PATH`.
Ted Mielczarek8b7b2862016-06-03 13:32:14 -040018
192. Create a new directory for checking out the source code (it must be named
20 breakpad).
21
22 ```sh
23 mkdir breakpad && cd breakpad
24 ```
25
263. Run the `fetch` tool from depot_tools to download all the source repos.
27
28 ```sh
29 fetch breakpad
30 cd src
31 ```
32
334. Build the source.
34
35 ```sh
36 ./configure && make
37 ```
38
39 You can also cd to another directory and run configure from there to build
40 outside the source tree.
41
42 This will build the processor tools (`src/processor/minidump_stackwalk`,
43 `src/processor/minidump_dump`, etc), and when building on Linux it will
44 also build the client libraries and some tools
45 (`src/tools/linux/dump_syms/dump_syms`,
46 `src/tools/linux/md2core/minidump-2-core`, etc).
47
485. Optionally, run tests.
49
50 ```sh
51 make check
52 ```
53
546. Optionally, install the built libraries
55
56 ```sh
57 make install
58 ```
Andy Bonventre0ff15b42015-09-22 17:29:52 -040059
60If you need to reconfigure your build be sure to run `make distclean` first.
61
Ted Mielczarek8b7b2862016-06-03 13:32:14 -040062To update an existing checkout to a newer revision, you can
63`git pull` as usual, but then you should run `gclient sync` to ensure that the
64dependent repos are up-to-date.
Andy Bonventre0ff15b42015-09-22 17:29:52 -040065
Ted Mielczarek8b7b2862016-06-03 13:32:14 -040066## To request change review
Andy Bonventre0ff15b42015-09-22 17:29:52 -040067
Ted Mielczarek8b7b2862016-06-03 13:32:14 -0400681. Follow the steps above to get the source and build it.
Andy Bonventre0ff15b42015-09-22 17:29:52 -040069
Ted Mielczarek8b7b2862016-06-03 13:32:14 -0400702. Make changes. Build and test your changes.
Andy Bonventre0ff15b42015-09-22 17:29:52 -040071 For core code like processor use methods above.
72 For linux/mac/windows, there are test targets in each project file.
73
Ted Mielczarek8b7b2862016-06-03 13:32:14 -0400743. Commit your changes to your local repo and upload them to the server.
Andy Bonventre0ff15b42015-09-22 17:29:52 -040075 http://dev.chromium.org/developers/contributing-code
76 e.g. `git commit ... && git cl upload ...`
77 You will be prompted for credential and a description.
78
Andrew Bonventref7be4812016-07-21 15:50:13 -0400794. At https://chromium-review.googlesource.com/ you'll find your issue listed;
80 click on it, then Add reviewer”, and enter in the code reviewer. Depending
81 on your settings, you may not see an email, but the reviewer has been
82 notified with google-breakpad-dev@googlegroups.com always CCd.