d4676b89a0
Add a .gyp file for building all windows tools, and add hook to run gyp to create corresponding .sln files. This doesn't try to build for platform:x64. This fails due to various errors caused by the assumption that size_t can be converted to an unsigned int without loss of information, which is not true on Windows x64 (LLP64), where size_t is 64 bits, but int is only 32 bits. There are test failures. client_tests failures are as described in [1]. dump_syms_unittest are as discussed in the description of [2]. [1] https://bugs.chromium.org/p/google-breakpad/issues/detail?id=520 [2] https://codereview.chromium.org/1782453003 BUG= Change-Id: I965244eb3746f87f30160fd0577e1cc9eb7a8b08 Reviewed-on: https://chromium-review.googlesource.com/441026 Reviewed-by: Mike Frysinger <vapier@chromium.org>
83 lines
3.0 KiB
Markdown
83 lines
3.0 KiB
Markdown
# Breakpad
|
||
|
||
Breakpad is a set of client and server components which implement a
|
||
crash-reporting system.
|
||
|
||
* [Homepage](https://chromium.googlesource.com/breakpad/breakpad/)
|
||
* [Documentation](https://chromium.googlesource.com/breakpad/breakpad/+/master/docs/)
|
||
* [Bugs](https://bugs.chromium.org/p/google-breakpad/)
|
||
* Discussion/Questions: [google-breakpad-discuss@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-discuss)
|
||
* Developer/Reviews: [google-breakpad-dev@googlegroups.com](https://groups.google.com/d/forum/google-breakpad-dev)
|
||
* 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)
|
||
* Coverage [![Coverity Status](https://scan.coverity.com/projects/9215/badge.svg)](https://scan.coverity.com/projects/google-breakpad)
|
||
|
||
## Getting started (from master)
|
||
|
||
1. First, [download depot_tools](http://dev.chromium.org/developers/how-tos/install-depot-tools)
|
||
and ensure that they’re in your `PATH`.
|
||
|
||
2. Create a new directory for checking out the source code (it must be named
|
||
breakpad).
|
||
|
||
```sh
|
||
mkdir breakpad && cd breakpad
|
||
```
|
||
|
||
3. Run the `fetch` tool from depot_tools to download all the source repos.
|
||
|
||
```sh
|
||
fetch breakpad
|
||
cd src
|
||
```
|
||
|
||
4. Build the source.
|
||
|
||
```sh
|
||
./configure && make
|
||
```
|
||
|
||
You can also cd to another directory and run configure from there to build
|
||
outside the source tree.
|
||
|
||
This will build the processor tools (`src/processor/minidump_stackwalk`,
|
||
`src/processor/minidump_dump`, etc), and when building on Linux it will
|
||
also build the client libraries and some tools
|
||
(`src/tools/linux/dump_syms/dump_syms`,
|
||
`src/tools/linux/md2core/minidump-2-core`, etc).
|
||
|
||
5. Optionally, run tests.
|
||
|
||
```sh
|
||
make check
|
||
```
|
||
|
||
6. Optionally, install the built libraries
|
||
|
||
```sh
|
||
make install
|
||
```
|
||
|
||
If you need to reconfigure your build be sure to run `make distclean` first.
|
||
|
||
To update an existing checkout to a newer revision, you can
|
||
`git pull` as usual, but then you should run `gclient sync` to ensure that the
|
||
dependent repos are up-to-date.
|
||
|
||
## To request change review
|
||
|
||
1. Follow the steps above to get the source and build it.
|
||
|
||
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. Commit your changes to your local repo and upload them to the server.
|
||
http://dev.chromium.org/developers/contributing-code
|
||
e.g. `git commit ... && git cl upload ...`
|
||
You will be prompted for credential and a description.
|
||
|
||
4. At https://chromium-review.googlesource.com/ you'll find your issue listed;
|
||
click on it, then “Add reviewer”, and enter in the code reviewer. Depending
|
||
on your settings, you may not see an email, but the reviewer has been
|
||
notified with google-breakpad-dev@googlegroups.com always CC’d.
|