https://github.com/xumingming/tracer

tracer

trace clojure call stack.

When I read some open source clojure source code, I find that some 
function/logic are so complex that it is not so easy to understand the 
whole logic, I think it will help me a lot if I can see the real function 
call stack with the provided paremeters, so I developed this simple tool to 
facilitate reading of clojure source code.
<https://github.com/xumingming/tracer#usage>Usage
   
   - Include tracer in your project.clj

[tracer "1.0.0-SNAPSHOT"]


   - Go into your project home and start the repl:

lein repl


   - use the tracer.core namespace

(use 'tracer.core)


   - Tell tracer which namespace you want to trace:

;; CHANGE 'blind.reader TO YOUR OWN namespace(trace 'blind.reader)


   - Invoke your function to see what happens( *you get a call tree & with 
   the parameter value!* ):

user=> (read-string "\"hello\"")|--blind.reader$read-string ("hello")
  |--blind.reader$string-push-back-reader ("hello")
    |--blind.reader$string-push-back-reader ("hello" 1)
      |--blind.reader$string-reader ("hello")
  |--blind.reader$read (#<PushbackReader blind.reader.PushbackReader@3eae3da8> 
true nil false)
    |--blind.reader$char (")    |--blind.reader$whitespace? (")
    |--blind.reader$number-literal? (#<PushbackReader 
blind.reader.PushbackReader@3eae3da8> ")      |--blind.reader$numeric? (")
    |--blind.reader$comment-prefix? (")    |--blind.reader$macros (")
    |--blind.reader$read-string* (#<PushbackReader 
blind.reader.PushbackReader@3eae3da8> ")      |--blind.reader$char (h)      
|--blind.reader$char (e)      |--blind.reader$char (l)      
|--blind.reader$char (l)      |--blind.reader$char (o)      
|--blind.reader$char (")"hello"

<https://github.com/xumingming/tracer#license>

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

Reply via email to