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). Currently you can only debug functions that have bodies enclosed in braces. This is a bug and will be fixed soon. 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. 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.

### See Also

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

[Package Contents]