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이 순서대로 나타나고 해당 함수를 선택하면 해당 함수의 실제 코드에서 어떻게 실행되어 문제가 발생하는 지를 한 라인 한 라인 넘어가면서 확인할 수 있다.
'IT | Computer > R' 카테고리의 다른 글
R 언어 통계 프로그래밍_Simulation: Generating Random Numbers (0) | 2016.10.15 |
---|---|
R 언어 통계 프로그래밍_str Function (0) | 2016.09.27 |
R 언어 통계 프로그래밍_split (0) | 2016.08.29 |
R 언어 통계 프로그래밍_tapply (0) | 2016.08.29 |
R 언어 통계 프로그래밍_mapply (0) | 2016.08.28 |