Вы должны вызвать debug(<functionName>)
, чтобы пройти через функцию.При следующем вызове этой функции автоматически откроется так называемая среда браузера и отобразится список содержимого вашей функции.Вы выполняете один шаг нажатием Return или командой n
(далее).Один шаг - это один блок (обычно одна строка), который будет указан перед его запуском.Чтобы запустить функцию до конца, нажмите c
(продолжить).Когда вы находитесь в режиме браузера, вы можете использовать ls()
, str()
, class()
, ... для проверки объектов.Ваш пример выглядит следующим образом:
> exampleSum <- function(x, y) {
+ x <- x+1
+ return(x+y)
+ }
> debug(exampleSum) # set debug flag
> exampleSum(1, 2) # run function in browser mode
debugging in: exampleSum(1, 2)
debug: {
x <- x + 1
return(x + y)
}
Browse[2]> n # next step
debug: x <- x + 1
Browse[2]> ls() # show objects
[1] "x" "y"
Browse[2]> x # show x
[1] 1
Browse[2]> c # run function to end
exiting from: exampleSum(1, 2)
[1] 4
> undebug(exampleSum) # remove debug flag
Последний вызов undebug(<functionName>)
удаляет флаг отладки из функции, так что он будет запускаться нормально при следующем вызове.