I've never been a fan of debuggers. Examining the state at the point of a crash rarely helps me: the problem is nearly always earlier in time. `printf` is more useful to follow the trail forwards.

Reverse debugging, specifically `rr`, has changed this calculus for me. By starting at the error and working backwards (and sometimes forwards), I have a sort of uber-powerful `printf` that allows me to examine the trail.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://mastodon.social/users/ltratt/statuses/115898870173069718 on your instance and quote it. (Note that quoting is not supported in Mastodon.)