Thanks, that was very helpful! Kynn On Thu, Jun 25, 2009 at 6:05 PM, Martin Morgan <mtmor...@fhcrc.org> wrote:
> Hi Kynn -- > > (gdb) call Rf_PrintValue(x) > > 'void' is I think the return value of R_PV() > > Martin > > Kynn Jones wrote: > > Hi, everyone. I'm trying to debug an R-module, written in C, and I'm > using > > gdb for this. > > > > How can I print "standard" R objects from within C code? > > > > BTW, I'm familiar with the advice to use R_PV given in Writing R > Extensions, > > but it's not working for me. E.g., I get > > > > (gdb) p R_PV(x) > > $1 = void > > > > and yet > > > > (gdb) p *x > > $2 = {sxpinfo = {type = 16, obj = 0, named = 0, gp = 0, mark = 0, debug = > 0, > > trace = 0, spare = 0, gcgen = 0, gccls = 1}, > > attrib = 0x608f98, gengc_next_node = 0xa82328, gengc_prev_node = > 0xa822c8, > > u = {primsxp = {offset = 1}, symsxp = { > > pname = 0x1, value = 0x146fb50, internal = 0x2000000a}, listsxp = > > {carval = 0x1, cdrval = 0x146fb50, > > tagval = 0x2000000a}, envsxp = {frame = 0x1, enclos = 0x146fb50, > > hashtab = 0x2000000a}, closxp = {formals = 0x1, > > body = 0x146fb50, env = 0x2000000a}, promsxp = {value = 0x1, expr = > > 0x146fb50, env = 0x2000000a}}} > > > > which suggests to me that x is not "void" (whatever that's supposed to > mean > > here). > > > > > > What I'd like to do is print out SEXP's the way that the R interactive > > interpreter would display them if one evaluated them on the command line, > > but to do this from within gdb, or at least via a PRINT function called > > directly within the C code. > > > > Is this possible? > > > > TIA! > > > > Kynn > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel