debug {base} | R Documentation

## Debug a function

### Description

Set or unset the debugging flag on a function.

### Usage

    debug(fun)
    undebug(fun)

### Arguments

`fun` | any interpreted R function.

### Details

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). You take the next step by typing carriage return, `n` or `next`. You can see the values of variables by typing their names. Typing `c` or `cont` causes the debugger to continue to the end of the function (or loop if within a loop). You can `debug` new functions before you step in to them from inside the debugger. Typing `Q` quits the current execution and returns you to the top–level prompt. Typing `where` causes the debugger to print out the current stack trace (all functions that are active). If you have variables with names that are identical to the controls (eg. `c` or `n` ) then you need to use `print(c)` and `print(n)` to evaluate them.

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"))`

### See Also

`browser`, `trace`; `traceback` to see the stack after an `Error: ...` message; `recover` for another debugging approach.

[Package base version 2.2.1 Index]