Rudebug 0.3.1

Hi,

I’m finally able to announce the release of rudebug, a debugging
front-end for ruby-debug and other debugging libraries for Ruby. It is
based on Glade and Ruby-GNOME2.

It has support for stepping, you can type code into a code shell and
instantly see the results. The source code which is being executed is
displayed as well. There is syntax highlighting everywhere. You can
browse the current context in a fairly powerful way through the object
browser. You can also reference the object that is selected in the
object browser in the code shell. You can debug locally as well as
remotely.

More information is available on the project home page. (Including a
more detailed project description, install guide, use guide and
explanation of the implementation.)

Homepage: Google Code Archive - Long-term storage for Google Code Project Hosting.
Screenshot: All sizes | rudebug | Flickr - Photo Sharing!

This was my project for last year’s Summer of Code. It should probably
have been released earlier. I hope it is still useful to the Ruby
community.

Comments and feedback are highly welcome.

Thanks for your attention!

Kind regards,
Florian G.

Hi,

I’m finally able to announce the release of rudebug, a debugging
front-end for ruby-debug and other debugging libraries for Ruby. It is
based on Glade and Ruby-GNOME2.

I am running the sample file you have on the wiki, but rudebug fails
with the following traceback. I have ruby-gnome2 0.16.

-Mitchell;

undefined method signal_connect' for nil:NilClass /usr//lib/ruby/site_ruby/1.8/libglade2.rb:105:inguard_source_from_gc’
/usr//lib/ruby/site_ruby/1.8/libglade2.rb:98:in guard_sources_from_gc' /usr//lib/ruby/site_ruby/1.8/libglade2.rb:97:ineach’
/usr//lib/ruby/site_ruby/1.8/libglade2.rb:97:in guard_sources_from_gc' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/page.rb:9:ininitialize’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/page.rb:9:in
new' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/page.rb:9:ininitialize’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:164:in
new' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:164:inon_session’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connection/ruby-debug.rb:99:in
call' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connection/ruby-debug.rb:99:inconnect’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:117:in
connect_to' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:112:ininitialize’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:112:in
new' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:112:inconnect_to’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/connect.rb:106:in
on_connectdlg_button_clicked' /usr//lib/ruby/site_ruby/1.8/libglade2.rb:45:incall’
/usr//lib/ruby/site_ruby/1.8/libglade2.rb:45:in connect' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/main.rb:62:incall’
/usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/main.rb:62:in
main' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug/main.rb:62 /usr//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:ingem_original_require’
/usr//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in require' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/lib/rudebug.rb:13 /usr//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:ingem_original_require’
/usr//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in require' /usr//lib/ruby/gems/1.8/gems/rudebug-0.3.1/bin/rudebug:4 /usr/bin/rudebug:18:inload’
/usr/bin/rudebug:18
/usr//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: line 27
Gtk-CRITICAL **:gtk_notebook_get_tab_label_text: assertion
`GTK_IS_WIDGET (child)’ failed

On 2007-01-07 07:44:21 +0100, mitchell [email protected] said:

I am running the sample file you have on the wiki, but rudebug fails
with the following traceback. I have ruby-gnome2 0.16.

-Mitchell;

undefined method signal_connect' for nil:NilClass /usr//lib/ruby/site_ruby/1.8/libglade2.rb:105:in guard_source_from_gc’
/usr//lib/ruby/site_ruby/1.8/libglade2.rb:98:in `guard_sources_from_gc’

Thanks for the report. That’s exactly the bug the workaround in
gtk-patch.rb is for. However, I broke compatibility for ruby-gnome2
0.16 when restoring 0.14 compatibility by testing for the presence of
guard_source_from_gc(). Turns out method_defined?() returns false for
private methods. I’m now using defined?(). Simple fix for a dumb bug.

I just released rudebug 0.3.2. Should be available via ‘gem update
rudebug’ soon. I hope that one will work 100%.

Sorry for all this.

Hi Florian,

Thanks for the report. That’s exactly the bug the workaround in
gtk-patch.rb is for. However, I broke compatibility for ruby-gnome2 0.16
when restoring 0.14 compatibility by testing for the presence of
guard_source_from_gc(). Turns out method_defined?() returns false for
private methods. I’m now using defined?(). Simple fix for a dumb bug.

Same error. You need to change ‘if defined?..’ to

‘if private_method_defined?(:guard_source_from_gc) then’

Only then will it work :wink: I will be playing with this. It looks much
better than my debugger project where I haven’t found the time to pick
it back up and integrate ruby-debug into.

-Mitchell;