Debugging Sharp Runtime
Diagnose component selection, exceptions, platform failures, concurrency and native memory errors.
Classify first
| Symptom | First question |
|---|---|
| Configure failure | Unknown component, missing external dependency or Android parent target? |
| Header missing | Is the owning component linked, or is a private header leaking? |
| Link failure | Is an implementation dependency declared with correct visibility? |
| Test failure | Behavior defect or unavailable host facility? |
| Crash/use-after-free | Which native owner or callback outlived its target? |
| Race/deadlock | What cancellation/join/lock order is documented? |
Useful tools
- Component boundary validator and selective fixtures
- GoogleTest filters on the owning executable
- ASan/UBSan for native memory and undefined behavior
- TSan for shared state where the toolchain supports it
- Debugger breakpoints on specific Sharp Runtime exception construction
- CMake target/property inspection rather than global include hacks
Network tests
Record permissions, namespace/container restrictions, DNS state, ping_group_range and interface files. An environment-limited result and an implementation defect require different fixes.