Skip to contents

Debug specified function func by entering a browser() right at the beginning (browse()) or end (browse_end()) of the function.

Usage

browse(func, ...)

browse_end(func, ...)

Arguments

func

An R function to be browsed.

...

Arguments to the function func that is to be browsed.

Value

Returns the result of func(...). Enters a browser().

Details

These are convenience shorthands for R's builtin debug tools, like debugonce() and the trace()/untrace() combination.

Functions

  • browse_end(): Enter browser() at the end of the function call to func(...). This only works, if the function can execute without error until its end. Otherwise, the error will be thrown.

Examples

if (FALSE) { # interactive()
# Define a simple function for this example
my_func = function(a) { for (i in 1:5) { a = a + i }; return(a) }

# Enter a browser at the beginning of the function
browse(my_func, 0)

# Enter a browser at the end of the function. This allows us to inspect 
# the function's local variables without having to go through the whole loop.
browse_end(my_func, 0)
}