Issue #6315 has been updated by ankopainting (Anko Painting).


ko1 (Koichi Sasada) wrote:
> (2012/04/18 13:23), ankopainting (Anko Painting) wrote:
>  > using a similar mechanism to set_trace_func, I would like a way to get the line number and return value of each line.  This would allow me to create a live debugger, much like light table from chris granger and/or bret victor's javascript demo.
>  > 
>  > It could be an extra return value of set_trace_func or we could use a new method.
>  
>  It is interesting because I will fix debugger API.

That's great - I see a good debugger as very important for a language.

>  However, I don't understand what you want and what set_trace_func lacks.
>   Could you give me examples?
>  (for example, your favorite "set_trace_func2", the extended set_trace_func)

I asked the question on ruby forum here: http://www.ruby-forum.com/topic/4072087#new

It has an example, but I'll give you another one;

#!ruby
#

set_trace_func2 proc { |event, file, line, id, binding, classname, return_value|
  if event == "line"
    STDERR.puts "#{line}: -> #{return_value.inspect}"
  end
}

i = 4
words = %w!brat cat apple!.sort

# end of ruby

output;
10: -> 4
11: -> ["apple", "brat", "cat"]


------------------- 

This is my first, simple idea.  It would allow your editor to show all return values next to your lines of code by evaluating it all in the browser.

I will put in a few more set_trace_func feature requests when I can give decent examples to explain them.

Thank you.
----------------------------------------
Feature #6315: handler to trace output of each line of code executed
https://bugs.ruby-lang.org/issues/6315#change-26039

Author: ankopainting (Anko Painting)
Status: Feedback
Priority: Normal
Assignee: 
Category: 
Target version: 


using a similar mechanism to set_trace_func, I would like a way to get the line number and return value of each line.  This would allow me to create a live debugger, much like light table from chris granger and/or bret victor's javascript demo.

It could be an extra return value of set_trace_func or we could use a new method.


-- 
http://bugs.ruby-lang.org/