| name | trace-and-isolate |
| description | Applies systematic tracing and isolation techniques to pinpoint exactly where a bug originates in code. Use when a bug is hard to locate, code is not working as expected, an error or crash appears with unclear cause, a regression was introduced between recent commits, or you need to narrow down which component, function, or line is faulty. Covers binary search debugging, git bisect for regressions, strategic logging with [TRACE] patterns, data and control flow tracing, component isolation, minimal reproduction cases, conditional breakpoints, and watch expressions across TypeScript, SQL, and bash. |
| version | 1.0.0 |
| triggers | ["trace execution","isolate bug","narrow down","binary search debugging","find where"] |
| tags | ["debugging","tracing","isolation","bisect"] |
| difficulty | intermediate |
| estimatedTime | 15 |
| relatedSkills | ["debugging/root-cause-analysis","debugging/hypothesis-testing"] |
Trace and Isolate
You are using systematic tracing and isolation techniques to narrow down where a bug originates. The goal is to find the exact location in code where behavior diverges from expectation.
Quick Reference
| Scenario | Technique |
|---|
| Large codebase / complex flow | Binary search debugging |
| Bug appeared between commits | git bisect |
| Unclear data transformation | Strategic [TRACE] logging |
| Which component is faulty? | Component isolation + mocks |
| Bug hard to reproduce | Minimal reproduction case |
| Conditional or intermittent bug | Conditional breakpoints / watch expressions |
Binary Search Debugging
When you have a large codebase or complex flow:
- Identify the start - Last known good state
- Identify the end - First observed bad state
- Test the middle - Check if behavior is good or bad
- Repeat - Binary search on the half with the bug
Code Path Binary Search
Start: User clicks submit button
End: Error shown to user
Midpoint 1: Form validation
→ Data looks correct here? Continue to later code
→ Data already wrong? Focus on earlier code
Midpoint 2: API request construction
→ Request payload correct? Focus on server side
→ Payload already malformed? Focus on form handling
...Continue until exact line is found
Git Bisect for Regressions
When a bug appeared between two commits:
git bisect start
git bisect bad
git bisect good v2.3.0
git bisect good
git bisect reset
Automated bisect with test script:
git bisect start HEAD v2.3.0
git bisect run npm -- --grep