13.10 디버깅
프로그램을 디버깅할 때, 특히 어려운 버그를 잡고 있다면 다음의 다섯 가지를 시도해볼 수 있다.
읽기
코드를 검사하고, 다시 읽고, 의도한 코드가 맞는지 확인한다.
실행
코드를 바꿔보고 다른 버전을 실행하면서 실험해본다. 프로그램에서 올바른 위치에 올바른 것이 표시된다면 문제가 명확해진다. 하지만 때로는 임시 구조(scaffolding)을 빌드해야 할 수도 있다.
깊이 생각하기
생각할 시간을 가져라! 어떤 오류인가? 구문, 런타임, 의미상의 오류인가? 오류 메시지나 프로그램의 출력에서 어떤 정보를 얻을 수 있는가? 지금 발생한 문제는 어떤 종류의 오류가 원인이 될 수 있는가? 문제가 나타나기 전에 마지막으로 고친 것은 무엇인가?