[Rd] Tips for debugging: R CMD check examples
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Jun 30 17:19:24 CEST 2010
On Wed, 30 Jun 2010, hadley wickham wrote:
>> R CMD check produces a foo-Ex.R file where foo is the package name. You
>> could start by sourcing that file in R --vanilla and see where it fails
>> and also use standard debugging tools in R from there (i.e. drop into a
>> debugger on error).
> I knew about the foo-Ex.R file, but unfortunately running that
> produced no errors.
How did you 'run' it? I suspect you source()d it, not at all the
same thing. I have yet to encounter a problem which
R --vanilla < foo-Ex.R
env LANGUAGE=en R --vanilla --encoding=latin1 < foo-Ex.R
did not reproduce.
> I ended up resorting to inserting print statements
> every few lines to narrow down the exact location of the problem,
> which revealed that my code assumed options(keep.source = TRUE) but
> during R CMD check, options(keep.source = FALSE).
Rather, the default (along with many others) differs in interactive
use and batch running. If you had used a command like those a few
lines about you would have had 'keep.source = FALSE' set.
> Hopefully this type of problem will be easier to sort out with the new
> pure R R CMD check in 2.11.
Maybe (if you meant the one in R-devel, 2.12.0-to-be). But the
examples are run in a sub-process just as before, so your very rare
mis-assumption still needs an understanding of how R code is run.
> Assistant Professor / Dobelman Family Junior Chair
> Department of Statistics / Rice University
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel