I spent a couple of hours this morning debugging RubyGems unit test
failures along with Jirapong Nanta. It was a fun exercise. We tracked
down two issues and hopefully Jirapong found the experience useful to
jump start his exploration of the IronRuby code base.
I am open to helping others too. I have put the following notes at the
bottom of http://wiki.github.com/ironruby/ironruby/debugging to ensure
that we can have a productive session. Jirapong had done his homework,
gotten RubyGems to work cleanly with MRI, and done a bit of debugging
himself, which is why we had a productive session.
Pair debugging with experienced IronRuby developers
Some experienced IronRuby developers may be available to debug a problem
with you. Watching over their shoulder can help a newcomer to the code
base learn debugging tips and techniques. To make this a fruitful
exercise, please follow the following guidelines:
Send email to
if any experienced developer is available to help you
Ensure that you can build and successfully run all of the
Restrict the problems to pure Ruby code which is known to work
with MRI. Ensuring a clean working baseline functionality in MRI ensures
that the problem truly in IronRuby. Without a known clean MRI baseline,
the problem can be in a component other than IronRuby which you are as
well-equipped to diagnose as anyone else.
Set up a clean repro. Spend time ensuring that it is not a
configuration issue, and that the problem can be easily reproduced on
other machines. Document detailed information about your platform,
version of IronRuby, and the steps to repro the problem.
Do basic debugging by yourself beforehand. This will ensure
that you get the most out of the session and can keep up with what’s
going on over Live Meeting.
Set up Live Meeting<http://livemeeting.com> on your machine,
which will allow you to watch the debugging session.
Add the experienced developer as a friend/buddy in some Chat
program so that you can ask questions during the debugging session.