如何调试他们通过eval等调用的函数

时间:2012-06-17 10:45:17

标签: r

我不知道如何调试结构:

fun1 <- function(obj){
   a<-c(obj,4)
   c(a,5)
}

fun <- function(obj){
   a <- match.call()
   a[[1L]] <- fun1
   return(eval.parent(a))
}

我想知道如何指示调试模式跟随调用eval.parent(a)并跳转到fun1

1 个答案:

答案 0 :(得分:1)

根据调试帮助页面:“如果要调试不是从头开始的函数,请使用trace(..., at = *)setBreakpoint。”

> trace(eval.parent)

> fun(4)
trace: eval.parent(a)
[1] 4 4 5

或者您可能想要发出警告并使用它来触发浏览器。很难说出你期待的是什么。