This function returns the native stack trace as a data frame. Each native stack frame corresponds to one row in the returned data frame. Deep function calls come first, the last row corresponds to the running process's entry point.

winch_trace_back()

Value

A data frame with the columns:

  • func: function name

  • ip: instruction pointer

  • pathname: path to shared library

  • is_libr: a logical, TRUE if this entry is from R's shared library, determined via procmaps::path_is_libr() on the pathname component

Details

On Windows, call winch_init_library() to return function names for a specific package.

See also

sys.calls() for the R equivalent.

Examples

winch_trace_back()
#> Error in winch_trace_back(): unw_get_proc_name() error: -10

foo <- function() {
  winch_call(bar)
}

bar <- function() {
  winch_trace_back()
}

foo()
#> Error in winch_trace_back(): unw_get_proc_name() error: -10