JRuby ports of Ruby/LDAP, ruby-debug
Posted by
Werner Schuster
on
Oct 10, 2007
- Java,
- Ruby
- Topics
-
Debugging
,
-
JRuby
- Tags
-
JRuby
,
-
RubyGems
Many Ruby libraries, implemented using native extensions, are not usable with JRuby since it doesn't support native extensions. In the
jruby-extras project, JRuby ports of these libraries are collected.
Ola Bini just added another port of
Ruby/LDAP called
JRuby/LDAP. The JRuby version is built using the LDAP libraries shipped with Java and can be configured with the properties of Java LDAP. Installation is simple by using the Ruby Gems package system:
jruby -S gem install jruby-ldap
Another of JRuby's missing pieces is being worked on right now:
fast debugging. Other Ruby implementations already have this in various states of completeness. Ruby 1.8.x has
ruby-debug, which uses native extensions to speed up debugging. An alternative is
Sapphire Steel's Cylon debugger. Rubinius has
fast debugging using special bytecodes at runtime.
JRuby currently only uses the
set_trace_func method of debugging.
set_trace_func allows to set Ruby callback function or Proc, which is invoked every time a line of Ruby code is executed. This obviously slows down execution of code during debugging.
Now, a JRuby version of ruby-debug is in the works.
Recently a milestone was reached: a first running version was packaged as a Ruby Gem; the project is hosted in the
debug-commons project at RubyForge. Currently debugging in JRuby means using a
set_trace_func based implementation written in Ruby. jruby-debug uses a similar approach, but the code is written in Java, which should improve performance significantly by avoiding the execution of multiple lines of Ruby debugger code for every line of
debugged Ruby code.
It's important to note, that at this time, the project is at an early state and
not complete at all, but this is a promising start.
No comments
Watch Thread Reply