Skip to content
Snippets Groups Projects
  • Andreas Traczyk's avatar
    529b7cf5
    troubleshooting: add configurable crash reporting with crashpad · 529b7cf5
    Andreas Traczyk authored
    This commit adds a basic crash-report system that can be optionally
    configured to automatically send minidump crash-reports in addition
    to product versions and a platform description including the OS
    name and CPU architecture. Reports can be received at a configured
    REST endpoint(POST). This endpoint URL can be configured using
    a CMake variable `CRASH_REPORT_URL` which defaults to
    "http://localhost:8080/submit".
    
    - Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
      to OFF. This allows developers to enable crash reporting features
      at build time selectively. We also define a new macro with the
      same name to expose the state to QML in order to hide the UI
      components if needed.
    
    - Implemented conditional inclusion of crashpad dependencies using
      `ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
      (other crash reporters exist and we may want to use them).
    
    - 2 new application settings are added: `EnableCrashReporting` and
      `EnableAutomaticCrashReporting`. Default settings make it so
      crash-reports are generated but not automatically sent. With this
      default configuration, users will be prompted upon application
      start to confirm the report upload. Additionally, users may
      opt-in in order to have reports sent automatically at crash-time.
    
    Gitlab: #1454
    Change-Id: I53edab2dae210240a99272479381695fce1e221b
    529b7cf5
    History
    troubleshooting: add configurable crash reporting with crashpad
    Andreas Traczyk authored
    This commit adds a basic crash-report system that can be optionally
    configured to automatically send minidump crash-reports in addition
    to product versions and a platform description including the OS
    name and CPU architecture. Reports can be received at a configured
    REST endpoint(POST). This endpoint URL can be configured using
    a CMake variable `CRASH_REPORT_URL` which defaults to
    "http://localhost:8080/submit".
    
    - Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
      to OFF. This allows developers to enable crash reporting features
      at build time selectively. We also define a new macro with the
      same name to expose the state to QML in order to hide the UI
      components if needed.
    
    - Implemented conditional inclusion of crashpad dependencies using
      `ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
      (other crash reporters exist and we may want to use them).
    
    - 2 new application settings are added: `EnableCrashReporting` and
      `EnableAutomaticCrashReporting`. Default settings make it so
      crash-reports are generated but not automatically sent. With this
      default configuration, users will be prompted upon application
      start to confirm the report upload. Additionally, users may
      opt-in in order to have reports sent automatically at crash-time.
    
    Gitlab: #1454
    Change-Id: I53edab2dae210240a99272479381695fce1e221b
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 30.89 KiB