5
當使用瀏覽器調試多個級別的其他功能的調試功能時,通常很難知道檢查特定變量的級別。當功能包含apply
,sapply
,lapply
調用產生中間級別時,它是神祕的。有沒有辦法在堆棧的所有級別上按名稱搜索變量?在使用瀏覽器時在調用堆棧中搜索對象
假設我有以下功能,在f3
中產生錯誤。我會假設,當進入第5層時,我應該能夠以某種方式使用pos
或envir
參數列出高於當前所在環境的任何環境的內容,但我無法弄清楚。我怎麼能找到v2
?
f1 <- function(){
v1 <- 1
sapply(1:3, f2)
}
f2 <- function(...){
v2 <- 2
f3()
}
f3 <- function(){
v3 <- 3
stop("Oh no!")
}
> options(error=recover)
> f1()
Error in f3() : Oh no!
Enter a frame number, or 0 to exit
1: f1()
2: #3: sapply(1:3, f2)
3: lapply(X = X, FUN = FUN, ...)
4: FUN(1:3[[1]], ...)
5: #3: f3()
非常優雅搜索包含可變框架,謝謝! – Backlin