debug {base} | R Documentation |
Set or unset the debugging flag on a function.
debug(fun) undebug(fun)
fun |
any interpreted R function. |
When a function flagged for debugging is entered, normal execution is suspended and the body of function is executed one statement at a time. A new browser context is initiated for each step (and the previous one destroyed).
At the debug prompt the user can enter commands or R expressions. The commands are
n
c
cont
c
.where
Q
Anything else entered at the debug prompt is interpreted as an
R expression to be evaluated in the calling environment: in
particular typing an object name will cause the object to be printed,
and ls()
lists the objects in the calling frame. (If you want
to look at an object with a name such as n
, print it explicitly.)
If a function is defined inside a function, single-step though to the
end of its definition, and then call debug
on its name.
In order to debug S4 methods (see Methods
), you
need to use trace
, typically calling browser
,
e.g., as
trace("plot", browser, exit=browser, signature = c("track", "missing"))
browser
, trace
;
traceback
to see the stack after an Error: ...
message; recover
for another debugging approach.