Triggering the debugger II

I'm still having trouble with the debugger and debugging

Here's part of my source ...

- - - -
1) #!/usr/bin/env ruby
2) require 'rubygems'
3) require 'ruby-debug'
4) Debugger.start
5)
6) debugger
- - - -

Here's my session
- - - -
f:\UltraDedup>ruby -rdebug UltraDedup.rb
Debug.rb
Emacs support available.

UltraDedup.rb:2:require 'rubygems'
(rdb:1) b 3
Set breakpoint 1 at UltraDedup.rb:3
(rdb:1) b 4
Set breakpoint 2 at UltraDedup.rb:4
(rdb:1) b 6
Set breakpoint 3 at UltraDedup.rb:6
(rdb:1) c
F:/InstantRails-2.0-win/ruby/lib/ruby/1.8/rational.rb:78: `undefined method `gcd' for Rational(1, 2):Rational' (NoMethodError)
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/config_file.rb:220:in `load_file'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/config_file.rb:168:in `initialize'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:384:in `new'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:384:in `configuration'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:634:in `path'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:68:in `installed_spec_directories'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:58:in `from_installed_gems'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:881:in `source_index'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/gem_path_searcher.rb:81:in `init_gemspecs'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/gem_path_searcher.rb:13:in `initialize'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:839:in `new'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:839:in `searcher'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:838:in `synchronize'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:838:in `searcher'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:478:in `find_files'
        from F:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems.rb:1103
        from UltraDedup.rb:2:in `require'
        from UltraDedup.rb:2
F:/InstantRails-2.0-win/ruby/lib/ruby/1.8/rational.rb:78: gcd = num.gcd(den)
(rdb:1) quit
- - - -

As you can see ... I either don't stop where I think I'm stopping or I am getting this strange stack before I hit line 3.

Any thoughts???

Damn ... I don't have this problem in an Instant Rails environment.

I am using Instant Rails to develope a Ruby/FXRuby program. Is that a no-no?

ruby -rdebug UltraDedup.rb

invokes the debugger that comes with Ruby, not ruby-debug. To invoke ruby-debug run as rdebug.

Rocky,

Friday, July 16, 2010, 5:10:04 AM, you wrote:

ruby -rdebug UltraDedup.rb

invokes the debugger that comes with Ruby, not ruby-debug. To invoke ruby-debug run as rdebug.

May the gods smile on your house and your family.

Rocky, what does ruby-debug do that the native debugger does not?

I'm not groking this at all.

Ralph

Furthermore, if you run your ruby program via the rdebug command, you
needn't modify your source code at all.

It's unfortunate that the 2 different debuggers both use the word
rdebug somehow in their invocation.... With the original debug.rb, you
start debugging your program via 'ruby -rdebug' whereas with
ruby-debug gem, you start debugging via 'rdebug'. This makes it more
confusing than it ought to be.

···

On 7/16/10, rocky <user@compgroups.net/> wrote:

ruby -rdebug UltraDedup.rb

invokes the debugger that comes with Ruby, not ruby-debug. To invoke
ruby-debug run as rdebug.

Rocky, what does ruby-debug do that the native debugger does not?

Faster, less bugs.

Also, if you want to stop where you exception is thrown I believe you
can run

rdebug:1 > catch Exception

and it will stop after it's thrown.

···

--
Posted via http://www.ruby-forum.com/\.

It's unfortunate that the 2 different debuggers both use the word
rdebug somehow in their invocation.... With the original debug.rb, you
start debugging your program via 'ruby -rdebug' whereas with
ruby-debug gem, you start debugging via 'rdebug'. This makes it more
confusing than it ought to be.

With ruby-debug, I start debugging via the "debugger" method in my code, possibly conditional, in the exact place I want it. Couldn't be happier!

Yes, it rdebug was an unfortunate name. In the rewrite [1], I don't
make that mistake. However currently that debugger is called rbdbgr
which I have come to learn that that is a very very bad name for the
project. I need to change that eventually -- different mistakes!

With regards to the question to the differences between debug.rb and
ruby-debug, others have answered this very nicely. Thanks! And there
is Pascal's blog on this from a while ago [2].

Nevertheless I'll try to summarize differences and note the possible
confusion on the next update of "Debugging with ruby-debug" [3].

[1] http://github.com/rocky/rbdbgr
[2] A better Rails debugger: ruby-debug – nanoRAILS
[3] ruby-debug

···

On Jul 16, 12:40 pm, Caleb Clausen <vikk...@gmail.com> wrote:

On 7/16/10, rocky <u...@compgroups.net/> wrote:

> ruby -rdebug UltraDedup.rb

> invokes the debugger that comes with Ruby, notruby-debug. To invoke
>ruby-debugrun as rdebug.

Furthermore, if you run your ruby program via the rdebug command, you
needn't modify your source code at all.

It's unfortunate that the 2 different debuggers both use the word
rdebug somehow in their invocation.... With the original debug.rb, you
start debugging your program via 'ruby -rdebug' whereas withruby-debuggem, you start debugging via 'rdebug'. This makes it more
confusing than it ought to be.