Ruby 1.9.3 preview1 has a slightly broken build process. In the final step of compilation it hides a number of symbols while linking the ruby binary. This means ruby-debug's extension can't get all the information it needs to make the debugger work and it breaks.
To fix, first grab some coffee, tenderlove-style.
$ git apply <( curl [https://github.com/ruby/ruby/pull/47.diff](https://github.com/ruby/ruby/pull/47.diff) )
$ autoconf && ./configure --prefix="$HOME/.rbenv/versions/1.9.3-preview1" && make -j3
Double check it's worked by checking the
_ruby_current_thread symbol is visible (or you can just trust me):
$ nm ruby | grep current_thread 00000001002249d0 D _ruby_current_thread
Then install as normal (
make install), set up rubygems,
gem install ruby-debug19 and try it out:
$ ruby -v -r rubygems -r ruby-debug -e 'Debugger.start and puts Debugger.current_context' ruby 1.9.3dev (2011-07-31 revision 32780) [x86_64-darwin11.0.1] #<Debugger::Context:0x007ff1e2450fe8>
Hooray! The future is now; you can get back to debugging your Rails 3.1 apps with ruby-debug on Ruby 1.9.3.
This probably isn't the canonical solution—I'm no autotools or C expert—but it works for now. I'm sure they'll fix it properly for the next release.