I've always had the thought that first time students should just be given a REPL and follow along line by line with the instructor. Assignment would be so obvious if one could just type the variable and have it spit out the value. Teach good debugging first and kids will be able to teach themselves the rest is what I say.
I think that your causation direction is reversed. Good debugging requires solid understanding of the syntax and behavior first. If you don't have it, then you're just flailing at the tool. I see people do this all the time: using debuggers to try to get information they could get trivially by reading the code, or randomly changing things in the code and retesting instead of carefully watching something in a debugger.
This was how most of my professors taught debugging, actually. Print statements. Reading the code is great but after a while it really does become hard to see where things go awry--especially in your own code. I think teaching students the basic concepts of debugging, break points, stepping, etc. will 1) clearly illustrate how bad print statement approaches are and 2) become annoying enough that it will make them better planners and code readers.