Can the debugger be called from within an interactive session?

B

billmcn

I'm a Ruby newbie. I've only been at the language for a little over a
week, but so far I'm impressed. My language of choice for the past
several years has been Python, so I'm trying to figure out how to do
all my familiar Python tricks in Ruby. Mostly, this has been easy, but
there is one thing that leaves me stumped: is it possible to start the
debugger from within an interactive session?

For example, say I've written the file called "test.rb" containing the
function "adder".

def adder(x, y)
x+y
end

I can launch irb and try out the function.

irb(main):001:0> require "test"
=> true
irb(main):002:0> adder(3,4)
=> 7

What I'd like to do is start the debugger from within the interactive
session and step into the function. For a similar Python program you
could do the following
<string>(1)?()
(Pdb) s
--Call--
/Users/bill/temp/test.py(1)adder()
-> def adder(x,y):
(Pdb) n
/Users/bill/temp/test.py(2)adder()
-> return x+y

I haven't been able to figure out if the Ruby debugging environment has
a similar feature. I've searched documentation, played with debug, and
glanced at the debug.rb source, to no avail.

Of course I could write a wrapper script that calls adder and run that
with "ruby -rdebug wrapper.rb", but that loses the convenience of being
able to work entirely in the interactive mode, which I find very
useful, particularly in the early stages of development.

Thanks for your help.
 

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

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,705
Latest member
Stefkari24

Latest Threads

Top