Debugging technique: Reduce complexity
Software is complex. That’s part of why some bugs are really tough to diagnose!
Lots of moving parts, lots of systems, lots of code.
Reduce the complexity during your investigation. Instead of multiple threads, reduce to a single one. Swap out custom allocators for standard ones. Reduce running instances to a single one of each.
Fewer systems to inspect, fewer log messages to sift through.
If your bug goes away just by doing this, that’s a clue to where it may be.