having great fun with macruby and planning on building a lot of apps with it -- thanks to everybody who has contributed to bringing my favorite language to macs :)

that said, i see in http://www.macruby.org/trac/ticket/1208 and have now suffered through with experience that proper debugger support in xcode is not currently supported, nor does it appear to be imminent. while i am plenty experienced with building big ruby things without a decent debugger -- i've built some fairly huge RoR sites using little more than puts and log grepping -- i don't think MacRuby will get far mainstream without integrated xcode debugging.

lacking a real vote-up feature in http://bugreporter.apple.com, here is my bug submission if anybody else on the list wants to also submit this bug to "vote it up" -- this seems to be the only simple way to send a message, so... submit early, submit often.

cheers, n@

Title: xcode does not offer an API to plug in alternate/complementary debuggers
ProblemID: 9753880
Product: Developer Tools
Version: Xcode 4

Summary:

Using MacRuby and Xcode4 I can set breakpoints in Ruby files in the UI, but the debugger does not support actually stopping, stepping, etc, nor can it perform language-specific debugging/analysis/expression-evaluation.

Per http://www.macruby.org/trac/ticket/1208, this is minimally a limitation of the debug infrastructure/API in xcode -- there is no API to integrate debugging properly so no effort has been expended to support it in MacRuby.

Steps to Reproduce:

1. Create a MacRuby project following the instructions at http://blog.phusion.nl/2010/03/12/creating-our-very-first-mac-application-with-ruby-how-exciting/. Use Xcode4 instead of Xcode3 -- Xcode3 will support creating and building the project, but won't allow you to even set breakpoints in the Ruby files -- it doesn't understand which lines are code, indentation, etc.

2. Establish a breakpoint at e.g. from the example code some line within MyWindowController.rb::MyWindowController::unveil_full_message_clicked

3. Build and run the project

4. Click on the "Unveil Full Message" button in the application's UI

Expected Results:

Debugger stops at MyWindowController::unveil_full_message_clicked and you can inspect variables and evaluate Ruby expressions in the console.

Actual Results:

Debugger doesn't stop. You are now visualizing how you could possibly build an interesting application in MacRuby using only NSLog and puts... hm, challenging!

Regression:

Notes: