Tools like (trace ...) in Lisp are helpful, but most of the time you want an actual debugger. If you are using Eclipse as your Clojure IDE, the plugin Counterclockwise integrates with the usual Eclipse debugger and let's you do all the usual things:
I keep trying to learn how to use CCW for the debugger, but I've been using Emacs too long. Realistically we should improve the nrepl tooling so that everybody can use the editor they're happy with.
I still remember how, when learning common lisp, I kept looking for how to enable a breakpoint in my code. I wanted a conditional breakpoint that would fire under specific conditions. I was really surprised to learn that you just modify your code and insert a (when something (break)) -- and that (break) function call lands you in a debugger.
I found the elegance and convenience very impressive.
Clojure, unfortunately, is hard to debug, no matter how many trace macros one uses. In a long-running application I would much rather land in a debugger, inspect locals, think about what to do next, walk the frames on the stack, etc.
You are absolutely right, it was just my first exposure it, and I wanted to share it with everyone who didn't already know about it. No disrespect intended to the Lisp's that already had it.
> Once in a while, I have felt the need to find out exactly what was going on at a certain point, and had to awkwardly put in (do (pprint x) x) statements everywhere.
http://code.google.com/p/counterclockwise/