3.1 Component Diagram
┌─────────────────────────────────────────────┐
│ Debugging System │
├─────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Debug │ │ Profiler │ │
│ │ Output │ │ │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ┌──────▼────────────────▼─────────────┐ │
│ │ Debug Backends │ │
│ │ ┌──────────┐ ┌──────────┐ ┌────────┐ │ │
│ │ │ Screen │ │ Serial │ │ File │ │ │
│ │ │ Output │ │ Output │ │ Output │ │ │
│ │ └──────────┘ └──────────┘ └────────┘ │ │
│ └─────────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────┐ │
│ │ Debug Utilities │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Assert │ │ Memory │ │ Error │ │ │
│ │ │ │ │ Tracker │ │ Handler │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘