Steping back with a debugger

Does ruby have a debugger with the capability of steping back , so that
I may see where “trouble” occurs ?

On Thu, Sep 18, 2008 at 6:48 AM, Lex W. [email protected] wrote:

Does ruby have a debugger with the capability of steping back , so that
I may see where “trouble” occurs ?

If by stepping back you mean “undoing” execution, then no. In general,
I
dont think that it’s possible

You can of course see the invocation stack to see how you got ‘here’, in
rdebug thats the where command.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

What debuggers do you use?

cheers,
FF

Flaming F. wrote:

What debuggers do you use?

cheers,
FF

ruby -rdebug

I figured that maybe ruby has a debugger that could step back in time ,
but I think I was wrong .

On Sep 18, 7:39 am, Lex W. [email protected] wrote:

Flaming F. wrote:

What debuggers do you use?

cheers,
FF

ruby -rdebug

I figured that maybe ruby has a debugger that could step back in time ,
but I think I was wrong .

I wonder if it will be possible in Maglev. :slight_smile:

Dan

steping back in time would be a great feature for the debugger to have.
I’m sure it would greatly reduce debugging time .

In Ruby In Steel you can navigate the call stack. This lets you
backtrack through the method calls leading to the current breakpoint (or
you can ‘unwind’ multiple recursive calls) and view the values of
variables at that point in the call stack… similarly, you can move to
any other point (forward and backward, wind and rewind) in the stack.

You can watch a short screencast to show this in action here:

http://www.sapphiresteel.com/static/movies/debug-1/debugger-intro.html

best wishes
Huw C.

SapphireSteel Software
Ruby and Rails In Visual Studio
http://www.sapphiresteel.com

That looks awesome ! Thanks :slight_smile:

On Thu, Sep 18, 2008 at 10:27 AM, Lex W. [email protected] wrote:

steping back in time would be a great feature for the debugger to have.
I’m sure it would greatly reduce debugging time .

There are a few specialized debuggers which allow time-travel to one
degree
or another.

However, to do this they need to save lots of information every time the
program ‘steps’ whether you are stepping through the program with the
debugger or just letting it run. I’m not sure I’d want to endure the
overhead until I really needed it.

Here’s a link to someone at Cisco who extended Eclipse to allow such
temporal debugging using a complete system simulation for an embedded
system:

http://www.danbourque.com/home

And here’s a google video of Bil Lewis demonstrating his “Omniscient
Debugger” for Java.

http://video.google.com/videoplay?docid=3897010229726822034&hl=en


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/