Hacker News new | ask | show | jobs
by cmrdporcupine 585 days ago
Even in multithreaded code, it's absolutely amazing to be able to pause a running program and look at the list of running threads and the values in scope and see where deadlocks might be sitting.

It's immediately obvious you're deadlocked, which is actually kind of tricking to suss out with log-style debugging.

Modern debuggers can do so much, being able to lay down conditions to only break when certain values are set, etc. etc. Some can even "rewind" programs. I'd say most people (including myself) are using only 25% of their debugger's capabilities.

Aside: One the reasons I despise working with async Rust code is the mess it makes of working with a debugger.