From gumpleon at gmail.com  Tue May  6 17:29:25 2008
From: gumpleon at gmail.com (pseudo)
Date: Tue, 6 May 2008 08:29:25 -0700
Subject: [Rd] a R_PV problem
In-Reply-To: <48201AE8.2060501@stats.uwo.ca>
References: <bc33365a0805060002w316d0c92mf2598adfd076ef07@mail.gmail.com>
	<48201AE8.2060501@stats.uwo.ca>
Message-ID: <bc33365a0805060829t2eb4264dh548a38dc5800bc95@mail.gmail.com>

On Tue, May 6, 2008 at 1:46 AM, Duncan Murdoch <murdoch at stats.uwo.ca> 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



[Rd] a R_PV problem
pseudo