'mtrace' will work with reference classes, at least after an object is instantiated. I'm not familiar with the guts of reference classes, but the following quick experiment was successful.. If you run the example in '?ReferenceClasses' up to & including this line :
xx <- mEditor$new(data = xMat) and then do this: mtrace( edit, from=attr( xx, '.xData')) and then run the next line of the example, which is xx$edit(2, 2, 0) then the debug window will come up as normal. Now, what about if you want to mtrace 'edit' before objects are instantiated? Here the S4 structure defeated me temporarily, but I probably would have been able to beat it if I'd had more time... There are some notes on debugging S4 methods in 'package?debug' (note that '?mtrace' itself is out-of-date on S4-- I have gotten S4 debugging to work, but it's only described in 'package?debug') and that might be enough to get you going. HTH Mark ('debug' package author) Mark Bravington CSIRO CMIS Marine Lab Hobart Australia ________________________________________ From: r-devel-boun...@r-project.org [r-devel-boun...@r-project.org] On Behalf Of A Zege [andre.z...@gmail.com] Sent: 08 April 2011 05:00 To: r-devel@r-project.org Subject: [Rd] How to debug reference classes? How do you debug methods of a reference class? I've been using mtrace, which is excellent, but i cannot figure out how to mtrace a reference class method. Maybe there is some other way to debug these, for example with ordinary trace? for now i am only able to use options(error=recover), which is not giving me idea where exactly in the code i am once i am stopped on an error. -- View this message in context: http://r.789695.n4.nabble.com/How-to-debug-reference-classes-tp3434269p3434269.html Sent from the R devel mailing list archive at Nabble.com. ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel