Hata ayıklama işlevleri, tarayıcıyı kullanarak birçok düzeyde başka işlevleri çağırırken, belirli bir değişkeni denetlemek için hangi seviyenin girileceğini bilmek genellikle zordur. İşlevler, apply
, sapply
, lapply
, orta düzeyler üretmeyi çağırdığında şifrelenir. Yığın tüm düzeylerinde bir ada göre değişken aramak için bir yolu var mı?Tarayıcıyı kullanırken arama yığındaki nesnelerin aranması
Aşağıdaki işlevleri yerine getirdiğimi varsayalım, f3
içinde bir hata oluştu. Seviye 5'e girerken, şu an içinde bulunduğumdan herhangi bir ortamın içeriğini, bir şekilde pos
veya envir
argümanını kullanarak listeleyebilmem gerekir, ama nasıl olduğunu anlayamıyorum. Örneğin, v2
'u nasıl arayabilirim?
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()
Çok zarif ile değişkeni içeren çerçeveyi aramak, teşekkür ederim! – Backlin