[R] R debugging options

Duncan Murdoch murdoch at stats.uwo.ca
Tue Apr 18 03:16:27 CEST 2006


On 4/17/2006 7:45 PM, Larry Howe wrote:
> Hello,
> 
> What options are available for me to debug my R scripts? For example I 
> normally do something like
> 
>> source("myfunctions.R")
>> function1("height", "weight")
> 
> myfunctions.R is a large R source file that contains many functions. function1 
> is the "main" function in myfunctions.R. It calls many other user-written 
> functions that are also in myfunctions.R.
> 
> I only want to debug the R scripts. I do not need to get into the code of R 
> itself. I would like to be able to:
> 
> - see the source as I am debugging
> - execute line-by-line
> - see and modify variables
> - have the option to either descend into function calls, or not
> - have the option to either descend into loops, or not
> 
> Maybe this is asking too much but I thought I would lay out my dreams and then 
> you can tell me what is really possible.

You can do some of that using the debug() and browser() functions.  They 
aren't exactly source-level debuggers:  they work by showing you 
deparsed versions of the code.

Since these aren't source oriented, you don't have the usual "descend" 
option.  You set a flag on a function, and enter the debugger whenever 
that function is called.

Mark Bravington's debug package goes a bit further towards a true 
source-level debugger.

The soon-to-be-released 2.3.0 has information on debugging in the R 
Extensions manual.  I don't think it's online yet other than as part of 
the beta versions.  You can also see some mainly Windows oriented 
material on my web page, 
http://www.stats.uwo.ca/faculty/murdoch/software/debuggingR/.

Duncan Murdoch




More information about the R-help mailing list