debugger
Debugging strategy and constraints for ikigai
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Debugger
Debugging strategy for ikigai - a TUI app with special constraints.
Critical Constraint
ikigai requires /dev/tty - it cannot run in subshells or pipes.
Error: Failed to open /dev/tty [src/terminal.c:29]
This means:
-
./ikigaiin a Bash tool will fail - You cannot capture stdout/stderr directly
- All builds (debug, release, sanitize) have this constraint
Build Modes
| Build | assert() |
Crash behavior |
|---|---|---|
debug (default) |
Active | SIGABRT |
release (-DNDEBUG) |
Compiled out | Segfault/corruption |
sanitize |
Active | SIGABRT + sanitizer report |
Decision Tree
Bug to investigate?
├── Can reproduce in unit test?
│ └── YES → Run test with sanitizers/valgrind
├── Crash on startup?
│ └── Use core dump analysis
├── Runtime crash/hang?
│ └── Use gdbserver
├── Memory issue?
│ └── valgrind or sanitizers on tests
└── Need trace output?
└── Add DEBUG_LOG calls
What NOT To Do
- Don't run
./ikigaidirectly expecting output - Don't pipe ikigai output - it needs a real terminal
- Don't use printf/stderr for debugging (alternate buffer)
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!