Single step debugging is probably one of the most important advancments in computer programming, to say it has "no point" is really 100% wrong. I mean in order to add this feature OSes were redesigned, processors were redesigned, software was redesigned, if it was useless, why would they have redesigned just about everything just to make it work? It gives you incredible control when debugging, I mean really, do you want to insert an echo line after EVERY line of code in a script? And then have to remove them all once your script is ready for release?