debugging-strategies
Language-agnostic debugging framework: scientific method, stack trace analysis, logging strategies, and advanced techniques like Git bisect and rubber ducking.
Introduction
This skill provides a systematic, language-agnostic methodology for identifying, isolating, and resolving software defects across any technology stack. Designed for engineers tackling complex runtime errors, logic failures, or performance issues, it transforms ad-hoc debugging into a repeatable, scientific process. By applying structured observation, hypothesis generation, and experimental validation, developers can move beyond trial-and-error to root-cause identification.
-
Employs the scientific method: Observe, Hypothesize, Predict, Test, and Conclude to ensure rigorous problem solving.
-
Provides deep analysis techniques for reading stack traces, identifying error categories like null/undefined, type errors, async rejections, and network faults.
-
Integrates advanced debugging patterns including Binary Search (Git bisect) for large repositories, Wolf Fence algorithm for section isolation, and Rubber Duck debugging for logical reconciliation.
-
Features structured logging strategies to improve observability, including log levels (ERROR, WARN, INFO, DEBUG, TRACE) and data-rich event reporting.
-
Offers breakpoint management best practices, covering conditional, line, and exception-based breakpoints in IDEs.
-
Supports data flow tracing, utilizing both forward tracing from user inputs and backward tracing from error propagation points.
-
Best for troubleshooting production issues, analyzing unexpected application behavior, and performing regression prevention.
-
Typical inputs include error logs, stack traces, code snippets, or reproduction steps; expected outputs are root-cause analyses, identified logic discrepancies, and validated fix implementation plans.
-
Adheres to the principle of changing one thing at a time to maintain control over variable states during testing.
-
Encourages adding unit or integration tests upon resolution to ensure long-term stability and regression safety.
Repository Stats
- Stars
- 255
- Forks
- 31
- Open Issues
- 7
- Language
- TypeScript
- Default Branch
- main
- Sync Status
- Idle
- Last Synced
- Apr 29, 2026, 06:06 AM