[#397093] Using binding + set_trace_func to capture execution state — Reginald Tan <lists@...>

Hi guys, I'm interested in building a program that will display the

18 messages 2012/07/03
[#397097] Re: Using binding + set_trace_func to capture execution state — Peter Zotov <whitequark@...> 2012/07/03

Reginald Tan писал 03.07.2012 05:11:

[#397115] Copying Files — "Alex C." <lists@...>

Hi,

17 messages 2012/07/03

[#397165] Green threads in 1.9.* ? — rex goxman <lists@...>

I am new to Ruby. I am somewhat surprised that I was not able to find

56 messages 2012/07/04
[#397224] Re: Green threads in 1.9.* ? — rex goxman <lists@...> 2012/07/05

<<There are definitely many reasons to prefer native threads over green

[#397227] Re: Green threads in 1.9.* ? — Tony Arcieri <tony.arcieri@...> 2012/07/05

On Thu, Jul 5, 2012 at 6:38 AM, rex goxman <lists@ruby-forum.com> wrote:

[#397232] Re: Green threads in 1.9.* ? — rex goxman <lists@...> 2012/07/05

Tony Arcieri wrote in post #1067551:

[#397234] Re: Green threads in 1.9.* ? — Tony Arcieri <tony.arcieri@...> 2012/07/05

On Thu, Jul 5, 2012 at 10:26 AM, rex goxman <lists@ruby-forum.com> wrote:

[#397239] Re: Green threads in 1.9.* ? — rex goxman <lists@...> 2012/07/05

Tony Arcieri wrote in post #1067563:

[#397251] Re: Green threads in 1.9.* ? — Tony Arcieri <tony.arcieri@...> 2012/07/06

On Thu, Jul 5, 2012 at 12:31 PM, rex goxman <lists@ruby-forum.com> wrote:

[#397253] Re: Green threads in 1.9.* ? — rex goxman <lists@...> 2012/07/06

Tony Arcieri wrote in post #1067609:

[#397256] Re: Green threads in 1.9.* ? — Tony Arcieri <tony.arcieri@...> 2012/07/06

On Thu, Jul 5, 2012 at 8:24 PM, rex goxman <lists@ruby-forum.com> wrote:

[#397260] Re: Green threads in 1.9.* ? — Ryan Davis <ryand-ruby@...> 2012/07/06

[#397267] Re: Green threads in 1.9.* ? — Robert Klemme <shortcutter@...> 2012/07/06

On Fri, Jul 6, 2012 at 8:52 AM, Ryan Davis <ryand-ruby@zenspider.com> wrote:

[#397269] Re: Green threads in 1.9.* ? — rex goxman <lists@...> 2012/07/06

Robert Klemme wrote in post #1067663:

[#397185] Insert letters of the alphabet between the original letters of a string — Joao Silva <lists@...>

Hi All.

10 messages 2012/07/04

[#397198] the best way to match these domains. — Eliezer Croitoru <eliezer@...>

thanks in advance i need a bit help to break the ice that my head is in.

18 messages 2012/07/05
[#397202] Re: the best way to match these domains. — Robert Klemme <shortcutter@...> 2012/07/05

On Thu, Jul 5, 2012 at 4:13 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:

[#397245] Re: the best way to match these domains. — Eliezer Croitoru <eliezer@...> 2012/07/05

On 7/5/2012 10:03 AM, Robert Klemme wrote:

[#397258] Re: the best way to match these domains. — Robert Klemme <shortcutter@...> 2012/07/06

On Thu, Jul 5, 2012 at 10:40 PM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:

[#397316] Re: the best way to match these domains. — Eliezer Croitoru <eliezer@...> 2012/07/07

On 7/6/2012 9:21 AM, Robert Klemme wrote:

[#397415] Re: the best way to match these domains. — Robert Klemme <shortcutter@...> 2012/07/10

On Sat, Jul 7, 2012 at 5:32 AM, Eliezer Croitoru <eliezer@ngtech.co.il> wrote:

[#397464] Re: the best way to match these domains. — Eliezer Croitoru <eliezer@...> 2012/07/11

On 7/10/2012 12:08 PM, Robert Klemme wrote:

[#397416] learning by doing part 2 - tc game — "Sebastjan H." <lists@...>

Hi,

53 messages 2012/07/10
[#397418] Re: learning by doing part 2 - tc game — "Jan E." <lists@...> 2012/07/10

Hi,

[#397419] Re: learning by doing part 2 - tc game — "Sebastjan H." <lists@...> 2012/07/10

Yes, that would be ok, but that means that the player has to create all

[#397421] Re: learning by doing part 2 - tc game — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2012/07/10

On Tue, Jul 10, 2012 at 12:39 PM, Sebastjan H. <lists@ruby-forum.com> wrote:

[#397423] Re: learning by doing part 2 - tc game — "Jan E." <lists@...> 2012/07/10

"Jes=C3=BAs Gabriel y Gal=C3=A1n" <jgabrielygalan@gmail.com> wrote in pos=

[#397424] Re: learning by doing part 2 - tc game — "Sebastjan H." <lists@...> 2012/07/10

Jan E. wrote in post #1068109:

[#397426] Re: learning by doing part 2 - tc game — "Jan E." <lists@...> 2012/07/10

Sebastjan H. wrote in post #1068110:

[#397428] Re: learning by doing part 2 - tc game — "Sebastjan H." <lists@...> 2012/07/10

Jan E. wrote in post #1068114:

[#397429] Re: learning by doing part 2 - tc game — "Jan E." <lists@...> 2012/07/10

Sebastjan H. wrote in post #1068117:

[#397430] Re: learning by doing part 2 - tc game — "Sebastjan H." <lists@...> 2012/07/10

Jan E. wrote in post #1068119:

[#397435] Re: learning by doing part 2 - tc game — Jes俍 Gabriel y Gal疣 <jgabrielygalan@...> 2012/07/10

On Tue, Jul 10, 2012 at 3:18 PM, Sebastjan H. <lists@ruby-forum.com> wrote:

[#397608] undefined method error — deal bitte <lists@...>

rid.database_columns[session_db_array[0]]

17 messages 2012/07/17

[#397685] odd "system" command behaviour with CUI and GUI — Joel Pearson <lists@...>

Windows 7 64-bit, Ruby 1.9.3.

12 messages 2012/07/20

[#397738] Help a blind man getting ruby to work — "Morten T." <lists@...>

Hallo,

14 messages 2012/07/23

[#397806] Help with exercise from Chris Pine's Ruby Book: Sort without using .sort — "James H." <lists@...>

Hello all, I'm a n00b that's just getting into programming.

16 messages 2012/07/25

[#397817] modular exponentation with multiple exponents? — roob noob <lists@...>

I need to do a^b^c^d^e mod f

11 messages 2012/07/25

[#397903] How to test whether a session variable has a particular key — Doug Jolley <lists@...>

Although a session variable behaves like a hash for purposes of setting

11 messages 2012/07/30

Re: Using binding + set trace func to capture execution state

From: Robert Klemme <shortcutter@...>
Date: 2012-07-03 07:02:00 UTC
List: ruby-talk #397099
On Tue, Jul 3, 2012 at 8:05 AM, Reginald Tan <lists@ruby-forum.com> wrote:
>
> >
> > To achieve your goal you'd need to copy the state of variables at each
> > tracefunc invocation. Even worse, as the objects themselves may change,
> > you will need to do a deep copy each time (otherwise you'll pluck into
> > exactly the same problem with object instance variables). I would
> > suggest
> > marshalling the objects and writing them to something like tmpfs, then
> > using a special tool to navigate the captured information.
> >
> > This is going to consume a lot of memory. I repeat: a lot. Like tens
> > of gigabytes for a complex thing like... Sinatra. And probably
> > terabytes
> > for Rails.
>
> Hmm, you're right, it would not be efficient at all to store all those
> variables especially in a large program.

Especially since you would have to store the complete graph of objects
reachable from every scope because the change might be in an object
referenced through some intermediate objects.

> I guess another possible approach is to rerun the program every time i
> want to inspect a variable.  Since I know which file and line the
> variable is, I can use that as a condition on set_trace_func handler on
> when to output that variable.

What about debug output?  You can make that pretty efficient:

if ENV["DEBUG"]
  def debug; $stderr.puts(yield) end
else
  def debug; end
end

debug { sleep 1; "Complex operation" }

Kind regards

robert

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

In This Thread