From: billmcn Date: 2005-12-02T14:37:31+09:00 Subject: Can the debugger be called from within an interactive session? 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 >>> import test >>> import pdb >>> pdb.run("test.adder(3,4)") > (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.