There are a few different things I’d like to mention:
And lastly: If you’re new to the fediverse you maybe shouldn’t run your own instance in first place. Helping reckless people pull reckless stunts is a bad reason to promote a feature.
Currently it isn’t and I don’t think, that this would be the best idea ever since it could be misused as some kind of index to find bad instances. The defederated-list is available to the public and thus the defederating instance could in fact be “advertizing” the instances they defederated from (“Look, we don’t want this stuff here, but these instances are for [right-wing|transphobes|bots|spammers|porn]”)…
Depending on where the instance is hosted or where the admin lives, it might even be illegal to in fact point people to places where they can find certain things.
I’ve seen the fun of “prints everywhere” in production when a colleague forgot to remove a “Why the fuck do you end up here?” followed by a bunch of variables before committing a hot-fix… Customers weren’t to amused…
Edit: That was a PHP driven web shop and the message ended up on to of the checkout page
I seldom use profilers because I seldom need to. It’s only usefull to run a profiler if your programm has a well defined perfomance issue (like “The request should have an average responsetime of X ms but has one of Y ms” or "90% of the requests should have a response after X ms but only Y% actually do).
On the other hand I use a debugger all the time. I rarely start any programm I work on without a debugger attached. Even if I’m just running a smoke test, if this fails I want to be able to dig right into the issue without having to restart the programm in debug mode. The only situation, where i routinely run code without a debugger is the red-green-refactor cycle with running unit tests because I’ll need to re run these multiple times with a debugger anyway if there are unexpected reds…
What enables me? Well there’s this prominent bug-shaped icon in my IDE right besides the “play button”, and there’s Dev-Tools in Chrome that comes with the debugger for JS…
Running your code without a debugger is only usefull if you want to actually use it or if you’re so sure that there aren’t any issues that you might as well skip running the code altogether…
Several times, sometimes to find out when an incompatibility was introduced in an upstream dependency to find the maximum compatible version, but usually to find the commit that introduced a strange bug.
The process is always the same… Write a unit test, start bisect, check test select next bisect step, repeat. If your last-known-good and first-known-bad are correct, it always worked for me.