The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Advanced Debugging

This section introduces the browse argument of flow_run() and the functions flow_debug() and flow_debugonce()

browse

flow_run() runs a call and displays the logical path that was taken, but what if we’d like to walk through the code step by step, as we would by inserting a browser() call in our function’s body or calling debug() or debugonce() on our function ?

In these cases we can use the browse argument, set it to TRUE and you’ll be able to browse through the function as it’s run. And refresh the diagram by typing d or the equivalent flow_draw()

flow_debug()

flow_run is convenient to inspect the logic of a function that we call directly, sometimes we might want to inspect a call that’s part of another function’s body.

In this situation we can use flow_debug(). These work a lot like debug() when using browse = TRUE.

library(flow)

flow_debug(factorial)
#> Tracing function "factorial" in package "base"
factorial5 <- function(){
  x <- 5L
  factorial(x)
}
factorial5()
#> [1] 120

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.