No description
  • C++ 91.8%
  • Python 3.3%
  • C 2.2%
  • Objective-C++ 1.6%
  • Assembly 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2020-03-21 00:30:09 +00:00
build Targets iPhone 8 when running tests. 2020-03-03 20:05:10 +00:00
client Backtrace changeset. 2020-03-21 00:30:09 +00:00
compat Add support for Hygon Dhyana CPU 2020-03-03 18:12:33 +00:00
doc update gyp_crashpad_android.py 2019-09-11 19:05:30 +00:00
handler macosx: add attachment support to the handler. 2020-03-21 00:30:09 +00:00
infra/config Removes the obsolete cq.cfg file. 2019-12-05 17:52:14 +00:00
minidump Add support for Hygon Dhyana CPU 2020-03-03 18:12:33 +00:00
snapshot [ios] Bring up first draft thread and memory snapshot. 2020-03-20 17:26:49 +00:00
test Bring up skeleton crashpad_client_ios. 2020-02-18 20:03:41 +00:00
third_party Backtrace changeset. 2020-03-21 00:30:09 +00:00
tools Fix a Wrange-loop-analysis warning in crashpad. 2020-02-23 12:49:09 +00:00
util Fix crash reporting on Windows 7. 2020-03-21 00:30:09 +00:00
.clang-format clang-format: don't bin pack arguments 2014-12-19 15:44:05 -08:00
.gitattributes Add .gitattributes, setting “text eol=lf” or “binary” for all files 2019-12-06 19:07:12 +00:00
.gitignore Adds plumbing for xcuitests with a placeholder test. 2020-01-31 03:39:51 +00:00
.gn gn: Refactor build files to avoid build/secondary 2017-12-18 22:53:58 +00:00
.vpython Add .vpython spec to add pywintypes to luci runs 2018-10-18 22:57:20 +00:00
AUTHORS Added MIPS support to crashpad. 2018-07-10 15:29:34 +00:00
BUILD.gn [ios] Bring up first draft process and module snapshot. 2020-03-05 15:42:35 +00:00
codereview.settings codereview.settings: stop forcing squashing 2019-08-15 20:30:14 +00:00
CONTRIBUTORS Add jperaza to CONTRIBUTORS 2018-10-01 18:05:23 +00:00
crashpad.gyp handler: Add user extensibility stream call-out. 2017-04-11 19:06:00 +00:00
DEPS Roll buildtools/ afc5b798c..4164a3056 (9 commits) 2020-03-13 18:31:22 +00:00
LICENSE Initial commit of Crashpad. 2014-07-30 23:24:58 -04:00
navbar.md doc: Fix bad merge resulting in twin “Man Pages” links in nav bar 2016-11-08 19:26:07 +00:00
package.h package.h: Update PACKAGE_COPYRIGHT_YEAR to 2018 2018-07-25 18:54:39 +00:00
README.md Backtrace changeset. 2020-03-21 00:30:09 +00:00

Backtrace modifications

This repository contains modifications provided by Backtrace I/O.

Windows file attachment support

Provided by Ihor Dutchak.

There also exists a Backtrace-specific function:

bool StartHandlerForBacktrace(const base::FilePath& handler,
                              const base::FilePath& database,
                              const base::FilePath& metrics_dir,
                              const std::string& url,
                              const std::map<std::string, std::string>& annotations,
                              const std::vector<std::string>& arguments,
                              const std::map<std::string, std::string>& fileAttachments,
                              bool restartable,
                              bool asynchronous_start);

It's very similar to StartHandler, with the exception of the fileAttachments parameter, which is a map of upload file names to local file paths.

For example, the following code will upload the log file from the specified path as 2018-02-30.log:

std::map<std::string, std::string> files = {
    { "2018-02-30.log", "C:/my_app/2018-02-30.log" }
};

rc = client.StartHandlerForBacktrace(handler,
    db,
    db,
    url,
    annotations,
    arguments,
    files,
    true,
    true);

If one does not want to use a Backtrace-specific function, the same result of uploading a file attachment to Backtrace I/O can be achieved by adding elements to the arguments vector in the following format:

--attachment=attachment_$ATTACHMENT_NAME=$ATTACHMENT_FILE_PATH

For the above example of 2018-02-30.log, the code would look as follows:

arguments.push_back(
    "--attachment=attachment_2018-02-30.log=C:/my_app/2018-02-30.log"
);

Send reports using EXCEPTION_POINTERS in Windows

A new function has been added to CrashpadClient, useful, example, when dealing with vectored exceptions. Additionally, it does not require that the process must end (the exception may be handled).

static void DumpWithoutCrashWithException(EXCEPTION_POINTERS* pointer);

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.