Hello fellow debugging enthusiasts,
I have recently started getting involved in MacRuby, and we currently
have a naive debugger, but we're looking to implement something more
robust for the 1.0 release.
I talked to Rocky briefly on IRC and decided to investigate how much
work it would be to get rb-trepanning to run on MacRuby. These are
the potential issues/concerns I have come across so far:
1) MacRuby doesn't support Kernel#require_relative - this doesn't seem
like a big deal.
2) MacRuby doesn't support Kernel#set_trace_func - this could be more
problematic.
3) rb-trepanning seems quite tightly coupled to the rb-threadframe
ruby 1.9.2 patches (
https://github.com/rocky/rb-threadframe ). I
wonder if there could be a minimal version of rb-trepanning than ran
on an un-patched ruby 1.9.2. The parts of rb-trepanning that depend
on the patches could then be enabled via respond_to? or similar. I
don't know how realistic this is, or how complicated it would make the
code base, but it would seem to make it much easier to get it running
on implementations like MacRuby. A similar approach could be taken to
extensions that only work in rubinius too, which would mean everything
could live within one gem. I think it would be great if we could use
one common pure ruby debugging gem across all implementations, but rb-
trepanning in its current form seems to make this more difficult than
it needs to be.
If any one has any advice or thoughts about any of these points I
would be happy to hear it.
Cheers,
Isaac