cpp-systematic-debugger

Guide hypothesis-driven C++ debugging with evidence collection and documented reasoning.

Updated Sep 29, 2024
One-click install
npx skills add https://github.com/danielnewman09/MSD-CPP --skill cpp-systematic-debugger
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cpp-systematic-debugger
Source: https://github.com/danielnewman09/MSD-CPP/tree/main/.claude/skills/cpp-systematic-debugger
Command: npx skills add https://github.com/danielnewman09/MSD-CPP --skill cpp-systematic-debugger

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides a structured, hypothesis-driven workflow for debugging complex C++ issues. It guides investigators to parse issue tickets, review suspect code, eliminate causes with evidence, propose and implement tests, and document findings with human-in-the-loop feedback.

Core Features & Use Cases

  • Structured debugging workflow: parse tickets, investigate suspect files, and checkpoint progress.
  • Hypothesis-driven analysis: methodically test each potential cause with evidence and test plans.
  • Integrates with GTest/Catch2 and sanitizers: run deterministic tests, capture results, and document findings.
  • Human-in-the-loop: maintain a transparent debug log and iterate with user feedback.

Quick Start

Initialize a debugging session by providing a DEBUG_TICKET.md in the project root and running the provided init_debug_session.py to create a new session log and begin the investigation. Review suspect code, locate tests, and progressively run sanitizers to gather evidence as you work.

Frequently Asked Questions about cpp-systematic-debugger

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I systematically debug complex C++ issues using sanitizers?

A systematic C++ debugging workflow guides you through parsing issue tickets, reviewing suspect files, and progressively running sanitizers to gather evidence. It ensures traceability by maintaining an ongoing debug log for human-in-the-loop feedback.

What is hypothesis-driven C++ debugging and how does it work?

Hypothesis-driven C++ debugging is a methodical process of testing each potential root cause with documented evidence and test plans. You parse a DEBUG_TICKET.md, investigate suspect code, and eliminate causes using sanitizer results and deterministic tests.

How do I start a systematic C++ debugging session with GTest and Catch2?

To start a systematic C++ debugging session, provide a DEBUG_TICKET.md in your project root and run the initialization script. This creates a new session log to begin investigating suspect code and running GTest or Catch2 tests.

Does this C++ debugging workflow support memory debugging tools and sanitizers?

Yes, the C++ debugging workflow integrates with memory debugging tools and sanitizers. It runs deterministic tests using GTest and Catch2, captures sanitizer results, and documents the findings to isolate root causes within your codebase.

What do I need to provide before starting a C++ root cause analysis?

Before starting C++ root cause analysis, you need a clearly formatted DEBUG_TICKET.md in the project root describing the problem. This ticket initiates the investigation workflow and creates an ongoing debug log for traceability.