R

[R] debug하기

'김용환' 2016. 3. 3. 17:31



R언에서 다양한 함수를 실행하다가 내부에서 어떻게 문제를 일으키는지 디버그를 하고 싶을 때 debug()를 사용한다.


예시 소스는 다음과 같다. 

test_function <- function(x, y) {

  x = x + 1

  y = y + 1

  x = x * x;

  y = y * x;

  y

  invisible(y)

}


debug(test_function)


test_function(2, 3)



또는 R 이나 RStudio에서 실행하면.. 디버그 모드로 전환한다.


R 실행


> test_function <- function(x, y) {

+ x = x + 1

+ y = y + 1

+ x = x * x;

+ y = y * x;

+ y

+ invisible(y)

+ }

> debug(test_function)

> test_function(2, 3)

debugging in: test_function(2, 3)

debug at #1: {

    x = x + 1

    y = y + 1

    x = x * x

    y = y * x

    y

    invisible(y)

}

Browse[2]> n

debug at #2: x = x + 1

Browse[2]> n

debug at #3: y = y + 1

Browse[2]> n

debug at #4: x = x * x

Browse[2]> n

debug at #5: y = y * x

Browse[2]> n

debug at #6: y

Browse[2]> n

debug at #7: invisible(y)

Browse[2]> n

exiting from: test_function(2, 3)




반면, RStudio는 IDE 화면의 Debug 창이 뜬다. 비슷하게 사용할 수 있다. 

그러나 작은 실수에도 Debug 창이 이슈가 생겨서 디버그 모드가 종료가 안될 수 있다..  (0.99 버전 사용중)