Memory Debugging
Systematic memory leak diagnosis with Instruments. 5 leak patterns covering 90% of real-world issues.
When to use: App memory grows over time, seeing multiple instances of same class, crashes with memory limit exceeded, Instruments shows retain cycles
Key Features
- 5 comprehensive leak patterns
- Delegate retain cycles
- Closure capture cycles
- Observer leaks
- Cache accumulation
- View controller leaks
- Instruments workflow (Leaks + Allocations)
- Stack trace analysis
- Quick diagnostic questions
- Reduces debugging from 2-3 hours to 15-30 min
Philosophy: Memory leaks follow predictable patterns. Systematic diagnosis is faster than trial-and-error.
Example Prompts
These are real questions developers ask that this skill answers:
"My app crashes after 10-15 minutes of use but there are no error messages." → Covers systematic Instruments workflows to identify memory leaks vs normal memory pressure
"I'm seeing memory jump from 50MB to 200MB+. Is this a leak or normal caching?" → Distinguishes between progressive leaks (continuous growth) and temporary spikes (caches that stabilize)
"View controllers don't seem to be deallocating after dismiss. How do I find the retain cycle?" → Demonstrates Memory Graph Debugger to identify objects holding strong references
"I have timers/observers and think they're leaking. How do I verify?" → Covers the 5 diagnostic patterns including timer and observer leak signatures
"My app uses 200MB and I don't know if that's normal or multiple leaks." → Provides Instruments decision tree to distinguish normal memory use from actual leaks