steping back with a debugger

L

Lex Williams

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

Rick DeNatale

[Note: parts of this message were removed to make it a legal post.]

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
http://en.wikipedia.org/wiki/Reversible_computing

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

Lex Williams

Flaming said:
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 .
 
D

Daniel Berger

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. :)

Dan
 
L

Lex Williams

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

Huw Collingbourne

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 Collingbourne

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

Rick DeNatale

[Note: parts of this message were removed to make it a legal post.]

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,575
Members
45,052
Latest member
KetoBeez

Latest Threads

Top