From murdoch at stats.uwo.ca  Tue May  6 10:46:32 2008
From: murdoch at stats.uwo.ca (Duncan Murdoch)
Date: Tue, 06 May 2008 04:46:32 -0400
Subject: [Rd] a R_PV problem
In-Reply-To: <bc33365a0805060002w316d0c92mf2598adfd076ef07@mail.gmail.com>
References: <bc33365a0805060002w316d0c92mf2598adfd076ef07@mail.gmail.com>
Message-ID: <48201AE8.2060501@stats.uwo.ca>

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.

Duncan Murdoch



[Rd] a R_PV problem
Duncan Murdoch