I think about this often because it feels like my peak ability and productivity s a developer happened back on classic MacOS (7.5 through 9). There was a program called MacsBug that you could install, and with just two keys on the keyboard, invoke a stop-the-world debugger, complete with disassembly, stepping, and heap inspection. You could twiddle a bit here and there, even in the operating system. MacsBug shipped with a Forth interpreter, if I remember right, so you could even automate some of the debugging process. I still have my MacsBug reference guide.
I don't think there's a day that goes by that I don't wish I had those capabilities again.
But, operating systems also have another important function: they have to defend against malicious software. In the days of Macsbug, every program had full read/write access to every other program's heap. That would be horrifying today. Every tactic that's been developed in the name of secure computing has made OS-level debugging significantly harder.
I don't think there's a day that goes by that I don't wish I had those capabilities again.
But, operating systems also have another important function: they have to defend against malicious software. In the days of Macsbug, every program had full read/write access to every other program's heap. That would be horrifying today. Every tactic that's been developed in the name of secure computing has made OS-level debugging significantly harder.