From: "Bartosz DziewoƄski" Date: 2012-07-04T16:57:13+09:00 Subject: Re: Using binding + set trace func to capture execution state You can use the `local_variables` method to get a list of local variables in current scope. So maybe something like this: $values_at_time = {} set_trace_func proc { |event, file, line, id, binding, classname| if event == "line" $values_at_time[line] = binding.eval('local_variables.map{|v| [v, eval(v.to_s)] }') end } a = 5 stuff = 'asd' a += 8 set_trace_func nil pp $values_at_time -- Matma Rex