On Tue, May 6, 2008 at 1:46 AM, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > > On 06/05/2008 3:02 AM, pseudo wrote: > > > Dear all, > > > > When using gdb to debug my C code, I use R_PV to show the content of > > SEXP variables: > > > > SEXP sexp; // it is a data.frame > > SEXP colNames = getAttrib(sexp, R_NameSymbol); > > > > A strange thing is that after halting the program: > > > > (gdb) p R_PV(colNames) > > > > does not show the content of colNames. I am positive my code is right > > because if I insert "PrintValue(colNames);" in the c code, it will > > print the right value. My debug result shows that the variable > > "colNames" failed the "isObject" call. I am not sure whether this is a > > new feature or bug. Anyone can help? > > > > Are you sure that getAttrib has been called? Depending on the optimization > level under which your code was compiled, instructions may be re-ordered. > gdb may show the instruction pointer after that line, even though that line > hasn't been run yet. >
Yes, the getAttrib is called because the optimization is turned off. Gang ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel