I've been looking for a simple and convenient to use clojure debugger for
ages now and would love to hear your recommendations. I'm a vim-fireplace
user as well, if that makes a difference.

I'd love to be able to set breakpoints in a running clojure application,
step through the code and inspect locals and the referencing environment.
Anything that gets me off of the time-consuming process of adding
timbre/clojure.tools.trace statements would be really welcome. Is vim-redl
the closest I can get to that, or is ritz the way to go? Any other
recommendations?

I'll have to checkout JoC2's chapter on that, that sounds really helpful.


On Fri, Jan 24, 2014 at 4:11 PM, dgrnbrg <dsg123456...@gmail.com> wrote:

> I have an implementation of this that's thoroughly integrated into vim.
>
> clojure code: https://github.com/dgrnbrg/redl
> vim plugin: https://github.com/dgrnbrg/vim-redl
>
> The code itself is written with core.async, and is capable of monitoring a
> thread, inspecting its stack while its running, stopping it, and
> programmatically creating breakpoints that give you a repl with captured
> locals.
>
> I'd love for this work to be extended to a generic nrepl handler, but I
> don't have the time to do so at the moment.
>
>
> On Friday, January 24, 2014 6:46:23 PM UTC-5, Jarrod Swart wrote:
>>
>> The second version of The Joy of Clojure talks about building a debugging
>> repl that allows insertion of breakpoints into code.  Perhaps something
>> similar could be done here.
>>
>> On Friday, January 24, 2014 4:38:59 PM UTC-5, t x wrote:
>>>
>>> Found it, apparently it's
>>>
>>> debug-repl => swank-clojure => CDT => ritz
>>>
>>> It appears cider does not yet support this, so ritz is probably the
>>> "most powerful" at the moment.
>>>
>>>
>>> On Fri, Jan 24, 2014 at 3:39 AM, t x <txre...@gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>>   One thing I miss from pre-Clojure scheme days is as follows:
>>>>
>>>> ## What I want
>>>>
>>>> 1 => (foo) ;; I'm calling foo at the repl
>>>> ... foo executes ...
>>>> ... at some point, an exception is thrown ...
>>>>
>>>> 2 => my interpreter _starts a new repl_
>>>>   * at the point where the exception was thrown
>>>>   * lets me examine local environment variables
>>>>   * lets me execute commands
>>>>   * lets me "resume" the execution
>>>>
>>>>
>>>> ## Why "it can't work"
>>>>
>>>> Now, I understand why this can not work in general in Clojure, i.e. the
>>>> following example:
>>>>
>>>> (defn foo []
>>>>   (.someJavaFunctionThatThrowsException object))
>>>>
>>>> In this case, the above is impossible since the exception is thrown
>>>> from _java land_ rather than Clojure land.
>>>>
>>>>
>>>> ## Why it might work
>>>>
>>>> Now, I'm not writing any code in java. The work I'm doing is pure
>>>> clojure. I can throw when the exception is thrown.
>>>>
>>>>
>>>> Is there some library, where instead of doing
>>>>
>>>> (defn foo []
>>>>   ...
>>>>   (throw (ex-data ...))
>>>>   ...)
>>>>
>>>> I instead do:
>>>>
>>>> (defn foo []
>>>>   ...
>>>>   (something-went-wrong-please-fire-up-a-repl)
>>>>   ...)
>>>>
>>>> ?
>>>>
>>>> Thanks!
>>>>
>>>
>>>  --
> --
> 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.
>



-- 
Alexandr Kurilin
206.687.8740 | @alex_kurilin <https://twitter.com/alex_kurilin> |
blog<http://www.kurilin.net>

-- 
-- 
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.

Reply via email to