On Tuesday, November 12, 2013 4:21:26 AM UTC-8, Lee wrote: > > > On Nov 12, 2013, at 1:58 AM, juan.facorro wrote: > > > Hi Alexandru, > > > > As Andy pointed out there's the emacs+Ritz option which has quite a few > features, but if the main thing you want to do is inspect the locals and > the current stack trace, you could use a macro as the one presented in the > book The Joy of Clojure (Chapter 8: Macros). > > > > The macro that's presented there is called break. What it does is it > traps the existing locals in a Clojure map when the macro is called and > uses their values to eval the forms you input in the breaking repl. The > version in the book uses clojure.main/repl with some options to cange the > prompt, the reader and the evaler. > > This is exciting but is there any way to get (break) to be called when an > unexpected exception is raised (in the context in which it is raised)? > > That would be my own #1 wish for Clojure debugging. > > Also nice, and FWIW also common in Common Lisp environments from ancient > times, would be the ability to force a within-context call to (break) from > the keyboard, e.g. when your code might be stuck in an infinite loop and > you want to know why. > > -Lee
Here is a clojure webapp that you run and connect to another clojure process. When an exception happens, the stack trace will appear in the browser, and you can use a repl to examine things in the context of that stack frame. https://github.com/prismofeverything/schmetterling it is very young, but it works, and doesn't require emacs or even any change to the codebase you want to debug (except you need a dt_socket opened and you probably want to disable hotspot or your locals may get optimized away, making inspection more difficult -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.