Sometimes you have to break it
When something isn’t working, your changes don’t seem to have any effect, and you can’t use logging… break something.
I don’t mean grabbing your monitor and throwing it. Some environments are difficult or impossible to log messages from. Graphics shaders, managed cloud services (parts of them), nested tooling for building web bundles (scripts calling CLI calling scripts calling who-knows-what), etc.
It’s a variation of “are you sure you are testing the right version?”. Write something that isn’t syntactically correct and make sure it breaks things. Then you know changes in that place have an effect. Knowing where it breaks exactly is also helpful.
Even writing code to purposefully crash can be useful in these situations.
This tool is a great circuit breaker for long bouts of debugging.