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 버전 사용중)
'R' 카테고리의 다른 글
[R] 상위 N(top n) 구하기 (0) | 2016.04.18 |
---|---|
RStudio 실행 안되는 문제 해결하기 (0) | 2016.03.03 |
[R] invisible() (0) | 2016.03.02 |
[R] ... 사용하기 (0) | 2016.03.02 |
[R] R에서 시간, 날짜 다루기 (as.Date, Sys.time) (1) | 2016.02.27 |