Skip to content

A fork of Crashpad with file attachment support and other improvements.

License

Notifications You must be signed in to change notification settings

ruisebastiao/crashpad

This branch is 4 commits behind backtrace-labs/crashpad:backtrace.

Folders and files

NameName
Last commit message
Last commit date
May 30, 2024
Mar 30, 2023
Jan 9, 2023
May 30, 2024
Mar 31, 2023
Sep 6, 2022
Feb 24, 2023
May 29, 2024
Sep 6, 2022
Mar 31, 2023
Mar 31, 2023
Mar 20, 2023
Mar 31, 2023
Mar 31, 2023
May 16, 2023
Sep 6, 2022
Sep 6, 2022
Mar 31, 2023
Nov 16, 2023
Sep 6, 2022
Sep 6, 2022
Sep 6, 2022
Jun 24, 2022
Jan 18, 2023
May 16, 2023
Oct 1, 2018
Dec 16, 2022
Jul 31, 2014
May 16, 2023
Sep 6, 2022
Sep 6, 2022
Sep 6, 2022

Repository files navigation

Backtrace fork of Crashpad

This is a fork of the Crashpad project with changes provided by Backtrace I/O, a Sauce Labs Company.

The major differences:

  • addition of CMake build files, making it possible to use Crashpad as a simple CMake dependency.
  • support for native Mac OS on M1 ARM builds.

Build instructions

Please see examples for usage examples.

Windows

Initial checkout

# Clone the repository
git clone [email protected]:backtrace-labs/crashpad.git
cd crashpad
# use the `backtrace` branch:
git checkout backtrace
# initialize submodules
git submodule update --init --recursive

Ensure that Visual Studio 2019 and CMake are in the path. You can do that by running terminal from the shortcut provided by the Visual Studio Installer.

Build:

# make a build directory (note: build is already used by Crashpad)
mkdir -p cbuild && cd cbuild
# run CMake (additional options like -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE are possible)
# it is recommended to specify the compiler version used for the build
cmake -G "Visual Studio 16 2019" ..
cmake --build .

Linux

Initial checkout

# Clone the repository
git clone [email protected]:backtrace-labs/crashpad.git
cd crashpad
# use the `backtrace` branch:
git checkout backtrace
# initialize submodules
git submodule update --init --recursive

Build:

# make a build directory (note: build is already used by Crashpad)
mkdir -p cbuild && cd cbuild
# run CMake (additional options like -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE are possible)
cmake ..
# alternatively: cmake --build .
make -j

Mac OS

Initial checkout

# Clone the repository
git clone [email protected]:backtrace-labs/crashpad.git
cd crashpad
# use the `backtrace` branch:
git checkout backtrace
# initialize submodules
git submodule update --init --recursive

Choose the architecture. Available options: arm64, x86_64.

Build:

# make a build directory (note: build is already used by Crashpad)
mkdir -p cbuild && cd cbuild
# run CMake (additional options like -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE are possible)
cmake -DCMAKE_OSX_ARCHITECTURES=arm64 ..
# alternatively: cmake --build .
make -j

Android

Initial checkout

# Clone the repository
git clone [email protected]:backtrace-labs/crashpad.git
cd crashpad
# use the `backtrace` branch:
git checkout backtrace
# initialize submodules
git submodule update --init --recursive

Ensure that paths are set up for the Android SDK and NDK:

# note that you will have to adjust those paths to your installation
export SDK_HOME=/home/backtrace/code/android/sdk
export PATH=${SDK_HOME}/cmake/3.18.1/bin/:$PATH
export CMAKE=${SDK_HOME}/cmake/3.18.1/bin/cmake
export ANDROID_HOME=${SDK_HOME}
export NDK_VERSION=21.4.7075529
export NDK=${ANDROID_HOME}/ndk/${NDK_VERSION}
export TOOLCHAIN=${SDK_HOME}/ndk/${NDK_VERSION}/build/cmake/android.toolchain.cmake
export GTEST=${NDK}/sources/third_party/googletest
export API_VERSION=21
# other supported are: armeabi-v7a, x86_64. x86 (32-bit) is NOT supported
export ABI=arm64-v8a
# use OPENSSL or NONE
export HTTPS_TRANSPORT=OPENSSL

Build:

# make a build directory (note: build is already used by Crashpad)
mkdir -p cbuild && cd cbuild
# run CMake (additional options like -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE are possible)
${CMAKE} \
        -DANDROID_ABI=${ABI} \
        -DANDROID_PLATFORM=${API_VERSION} \
        -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN} \
        -DANDROID_NATIVE_API_LEVEL=${API_VERSION} \
        -DANDROID_TOOLCHAIN=clang \
        ..
# build
make -j

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.

Other Links

About

A fork of Crashpad with file attachment support and other improvements.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 75.7%
  • C 19.3%
  • Objective-C++ 2.1%
  • Python 1.4%
  • Assembly 0.8%
  • CMake 0.4%
  • Other 0.3%