Rocky Bernstein
unread,Nov 24, 2012, 1:10:35 AM11/24/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ruby Debugger
I've just finished a sprint to port the MRI 1.9.2 patches to Ruby over to MRI 1.9.3. These patches better support debugging, tracing, and run-time introspection.
This means that rb-trepanning now works for 1.9.3.
There still is some administrative work to figure out how to cut the gems. On 1.9.2, the rb-threadframe package compiles C code to provide needed extensions, while on 1.9.3 it is all in the patched 1.9.3 Ruby; so no C extension is needed. The same situation exists for the rb-trace gem which extends trace hooks. If there's a gem packaging guru out there, help would be appreciated. (In the past, releases were botched because of such things.
Although in function the patches for 1.9.2 and 1.9.3 do the same thing (and there are a couple more patches to port to 1.9.3), the mechanics are a bit different.
If anything 1.9.3 made it more difficult to write such extensions which live outside the source code. So although it is more trouble to develop inside Ruby (because it is already large and bulky, takes a long time to build and test), in the end this makes things more reliable and easier for people to use the gems once they have such a patched Ruby. Previously, the approach that had been used, such as in ruby-debug19 and some earlier versions of parsetree, was to duplicate unexposed Ruby C headers.
Also internally, I have been more rigorous to split out the now 24 or so desirable additions into separate patches while also maintaining one combined patch.