Nonsense. Debugging is a skill, like any other, and it takes practice to get good at it. However, there is no need to step through every line of code if using breakpoints.
I would argue that breakpoints and debug commands are a much faster, finer-grained way of debugging than log statements. You can add breakpoints to a running program, examine and even change the values of variables, run debug commands to display data structures or even execute code, etc.
With log statements you have to recompile and re-run each time you want to debug another small block of code. Sometimes getting a test set up or a bug to repeat takes a long time, and if you limit yourself to log statements, you might have to repeat that setup process over and over and over, getting a few lines further each time.
Of course neither is mutually exclusive. You can use both in the same debugging session, and you also add log commands to breakpoints so when the program hits a breakpoint it displays information just like you do with a log statement.
I speak from experience, mind. I've been using symbolic debuggers since VAX/VMS back in the mid 1980s. (And Xcode's symbolic debugger ranks among the best I've used.)