Uploaded image for project: 'Qt Design Studio'
  1. Qt Design Studio
  2. QDS-2748

Integrate Crashpad with Qt Creator and Qt Design Studio

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • None
    • None
    • Crashpad
    • None
    • 5
    • cc7be5724ad9e25c03710a17ce50e09088497709 (qt-creator/qt-creator/master)
    • QDS 3D - Week 37/38, QDS 3D - Week 39/40, QDS 3D - Week 41/42, QDS 3D - Week 43/44, QDS 3D - Week 45/46, QDS 3D - 47/48, QDS 3D - 49/50, QDS 3D - 51/52

    Description

      It is required to add Google's Crashpad (https://chromium.googlesource.com/crashpad/crashpad) to Qt Design Studio to reports crashes to our backend (sentry.io is chosen).

      Crashpad starts a process (crash_handler) that handles crashes in the assigned process (Qt Design Studio in this case).

      When a crash happens:

      • Crashpad's running crash_handler process captures a snapshot of the crashed process and save it to minidump file (.dmp).
      • The .dmp file is uploaded to our backend.
      • A record in added to the backend with the crash details (call stack, OS, architecture, etc)

      For the call stack to appear correctly on the backend, debug information files (DIF) needs to be uploaded to sentry backend as well. Uploading debug symbols happens using the tool (sentry-cli) provided by sentry.io. We need to upload as much diffs as possible that are used to build Design Studio in order for the call stack to appear as complete as possible.

      To reduce the size of debug information symbols another tool (dump_syms) - provided by Crashpad - converts DIFs to .sym format which has significantly less file size.

      More about how Crashpad works here:
      https://chromium.googlesource.com/crashpad/crashpad/+/HEAD/doc/overview_design.md

      Crashpad relies on chromium depot_tools for building. The full details of how to build crashpad are here:
      https://chromium.googlesource.com/crashpad/crashpad/+/HEAD/doc/developing.md

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              mabadri Mahmoud Badri
              mabadri Mahmoud Badri
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes