I don't 'rely' on a debugger per se, but it's an important tool in my arsenal.
When I know that memory corruption is occurring (I work in embedded C++), a debugger with watchpoints is about the only way to track down who has that stray pointer.
Sure, a debugger isn't an excuse for not thinking about what you're doing, but banning them outright is a ridiculous idea.