Debugger vs print? No, the most smug response to that debate I ever heard was "Neither, I use unit tests".
I've never satisfied myself that you can't just make a legacy codebase work that way, given enough effort, but I am not fully convinced it's always a good idea.