Use the REPL, inspect values, and read stack traces effectively on the JVM.
Debugging in Clojure is often faster than in Java because you can reproduce behavior in a REPL with small forms and inspect real values at each step.
Useful habits:
tap>, pprint) instead of logging everythingex-data when errors carry structured contextmacroexpand-1) when control flow is confusingThe goal is to build a repeatable debugging loop that works both locally and in production-like environments.