IT | Computer/R

R 언어 통계 프로그래밍: Debugging

바람난후제 2016. 9. 19. 14:46
728x90
반응형

1. 오류 종류

1) message

- message function에 의해 일반적인 notification/diagnostic message 출력되고 코드 수행은 계속 실행된다.

2) warning

- warning function에 의해 오류가 있으나 수행에 치명적이지는 않은 상태를 출력하고 코드 수행은 계속 실행된다.

3) error

- 수행에 치명적인 문제 발견을 가르키고, 코드 수행이 정지된다.

4) condition

- 개발자가 직접 어떤 조건을 만들어서 조건에 따라 출력을 다르게 만들어 코드가 제대로 수행하는 지를 파악할 수 있는 기능이다.

 

2. Debugging Tools in R

1) traceback

- error 발생시에 어떤 함수들이 호출되었는지 출력하고, error가 없을 시에는 아무 기능을 하지 않는다.

- mean(x)를 통해 error가 호출 된 경우, traceback()을 통해 어떤 함수들이 호출 되었는지 확인할 수 있다.

- 여러 함수들의 호출이 필요한 경우에는 호출된 순서대로 어떤 함수들이 호출 되었는지 확인할 수 있다.

2) debug

- debug 모드로 function을 수행하는데 코드 한 줄씩 실행을 하면 수행 결과를 살필 수 있다.

- 함수를 사용하기 전에 debug를 희망하는 경우, debug(함수이름)을 먼저 수행하고 함수를 수행한다.

- 오류가 발생하여 Browse로 출력되고 새로운 창으로 error의 위치에서 suspend 된 상태로 호출된다.

- RStudio에서는 추가로 values에 argument 값이 나타나지고, k가 Missing argument로 되어있어서 error가 발 생했음을 확인할 수있다.

- Browse에서 n을 입력하면 다음 라인으로 넘어가며 각 라인이 실행되는 것을 파악하여 문제를 파악할 수 있다.

3) browser

- debug 모드에서 해당 함수가 호출 되었을 시에 어디에서든 실행이 중단(suspend)된다.

4) trace

- 함수의 특정 공간에 debugging code 삽입할 수 있게 한다.

5) recover

- function call stack을 확인하면서 error를 수정할 수 있게 한다.

- 해당 함수를 실행하기 위해 호출되는 function call stack이 순서대로 나타나고 해당 함수를 선택하면 해당 함수의 실제 코드에서 어떻게 실행되어 문제가 발생하는 지를 한 라인 한 라인 넘어가면서 확인할 수 있다.

728x90
반응형