Set, unset or query the debugging flag on a function.
condition arguments are the same as those
that can be supplied via a call to
browser. They can be retrieved
by the user once the browser has been entered, and provide a mechanism to
allow users to identify which breakpoint has been activated.
debug(fun, text = "", condition = NULL, signature = NULL) debugonce(fun, text = "", condition = NULL, signature = NULL) undebug(fun, signature = NULL) isdebugged(fun, signature = NULL) debuggingState(on = NULL)
any interpreted R function.
a text string that can be retrieved when the browser is entered.
a condition that can be retrieved when the browser is entered.
an optional method signature. If specified, the method is debugged, rather than its generic.
logical; a call to the support 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,
followed by a newline. The commands are described in the
browser help topic.
To debug a function which is defined inside another function,
single-step through to the end of its definition, and then call
debug on its name.
If you want to debug a function not starting at the very beginning,
trace(..., at = *) or
debug is persistent, and unless debugging is turned off
the debugger will be entered on every invocation (note that if the
function is removed and replaced the debug state is not preserved).
debugonce() to enter the debugger only the next time the
function is invoked.
To debug an S4 method by explicit signature, use
signature. When specified, signature indicates the method of
fun to be debugged. Note that debugging is implemented slightly
differently for this case, as it uses the trace machinery, rather than
the debugging bit. As such,
condition cannot be
specified in combination with a non-null
signature. For methods
which implement the
.local rematching mechanism, the
.local closure itself is the one that will be ultimately
TRUE if a)
and the closure
fun has been debugged, or b)
signature is not
fun is an S4 generic, and the method of
for that signature has been debugged. In all other cases, it returns
The number of lines printed for the deparsed call when a function is
entered for debugging can be limited by setting
When debugging is enabled on a byte compiled function then the interpreted version of the function will be used until debugging is disabled.
undebug invisibly return
TRUE if the function or method is
marked for debugging, and
debugcall for conveniently debugging methods,
browser notably for its ‘commands’,
traceback to see the stack after an
recover for another debugging approach.
## Not run: debug(library) library(methods) ## End(Not run) ## Not run: debugonce(sample) ## only the first call will be debugged sampe(10, 1) sample(10, 1) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.