Uhhhh I've been talking about this for almost a decade now but people just judge me as being noob. Debuggers are nice but if you're a platform jumper they're more of a nuisance than helpful. I'm a programmer who shifts platforms very frequently and oftentimes use niche platforms with very little tooling. Once you do that for a long time you develop muscles to abstract out computation in a more fundamental way. There is always compute, there is always memory (N layers of cache, perhaps RAM, disk, remote etc) and chances are there is always
some sense/form of logs. But sometimes there is no way to attach debugger. If one day you're writing code for GPU and the next day the same code is parallelized to 3000 tiny ARM vCPUs, and the next day the same code runs in WebAssembly you'd much rather not waste time playing around with debuggers. This is all to say debuggers are more of a specialized tooling and exceptions rather than the rule. I think software engineers would find some benefit learning techniques such as tracing, canonical logs, debugging logs, ad-hoc printf debugging etc. Just because noobs
also do it, doesn't mean experts can't do it.
I have no problem with being unable to use debugger in WebAssembly, my primary approach to debugging is observable outputs from the system:
* Return value
* Logs
* Side effects
* Integration tests, unit tests