Build a Crash Handler
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing the Breakpad, backward-cpp, and Crashpad references linked in the issue, then define the crash handler's scope and report format. Done should include singleton-style behavior, support for multiple instances contributing data, and collection of stack traces, machine information, installed libraries, and core dumps for later database processing.
Written by the indexing model from the issue text.
Description
Crash Handler/Reporter Proposal
Purpose and Problem
Currently our C++ Tools dont have specific Crash hanlders.
this means that the only Crash data we get are errors of parent tools.
this makes it hard for us to get the data we actually want.
We want to build a custom crash Hanlder that wraps around existing tools to give us the specific data in a specific format for us to Process.
We also want a Database to collect all the reports together to later learn from them.
Implementation
We want a Singleton Style implementation to ensure only one Crash handler exists in a single Application Unit.
Multi instantiation should still add data to the Crash Handler.
What do we Want to catch
- stack trace file (backward-cpp) (minidump's)
- machine info (network, cpu, ram)
- this helps to find out if we have a specific hardware set that causes problems
- installed libs
- this helps us identify if a user has incorrect library installed
- or if we conflict with libs
- Core Dumps
Inspiration / Research
Research
Links
--------------- Repos
----------- Tool Docs
- https://www.robopenguins.com/less-crashy-crashes/
- https://chromium.googlesource.com/crashpad/crashpad/+/master/README.md
- https://chromium.googlesource.com/breakpad/breakpad/
---------------- Infos Write Ups
- https://raygun.com/documentation/language-guides/cpp/crash-reporting/installation/
- https://stackoverflow.com/questions/3899870/how-to-print-a-stack-trace-whenever-a-certain-function-is-called/54365144#54365144
- https://www.robopenguins.com/core-dumps/
- https://www.boost.org/doc/libs/master/doc/html/stacktrace/getting_started.html#stacktrace.getting_started.handle_terminates
Inspiration
we can take inspiration by what side fx Houdini is doing with there info section.
- Dominant language
- C++
- Stars
- 0
- Forks
- 2
- Avg merge
- 4d 7m
- Merged PRs (30d)
- 3
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ynput/ayon-cpp-dev-tools
-
CMake Presets Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
All issues in ynput/ayon-cpp-dev-tools
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
ros2/message_filters#338 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
subsurface/subsurface#4984 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
flutter-webrtc/flutter-webrtc#2206 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
google-ai-edge/LiteRT-LM#3739 ·