이번 장에서는 프로그램 디버깅에 대해 알아보겠습니다. 프로그램을 실행할 때 디버깅 결과를 볼 수 없나요? 하지만 프로그램 설계는 논리적이고 하향식이어야 한다는 점을 모두가 알아야 합니다. 디자인 구조는 프로그램을 이해하는 데 도움이 되므로 프로그램이 처음부터 끝까지 개발에 더 유용하다는 것을 확인하고 디버깅은 이 디자인 개념을 완성하는 데 도움이 되는 가장 좋은 방법입니다. 아래에서는 두 가지 디버깅 방법을 알아봅니다. IDLE에 포함된 디버깅 기능은 Assert 문을 사용하여 디버깅하는 것입니다.
IDLE을 사용할 때 위의 '디버그' 옵션을 보셨는지 모르겠습니다.
'Debug' 옵션에 'Debugger'라는 옵션이 하나 더 있는데, 이를 클릭하면 아래와 같은 인터페이스가 나타납니다. 가운데의 [DEBUG ON]은 디버깅 상태를 켜는 것을 의미합니다.
추가 방법: 추가하려는 문을 마우스 오른쪽 버튼으로 클릭한 후 팝업 메뉴에서 Set Breakpoint를 선택합니다. 즉, 해당 중단점을 추가합니다. 중단점을 지우려면 같은 방식으로 Clear Breakpoint를 선택합니다.
중단점의 기능은 중단점에 도달하면 프로그램 실행을 중단하는 것입니다. 현재 상태의 변수와 같은 정보를 볼 수 있습니다.
중단점을 추가하면 다음과 같습니다.
버튼의 기능:
Go: 중단점까지 실행합니다.
단계: 실행할 기능을 입력하세요.
오버: 단일 단계 실행
Out: 현재 기능에서 빠져나옵니다.
종료: 종료 버튼
디버깅할 때 프로그램 인터페이스에서 F5를 눌러 시작하고 Go를 눌러 첫 번째 중단점까지 실행을 시작하면 변수 n의 값을 관찰할 수 있습니다.
첫 번째 중단점에서 m은 5이고 n은 20입니다. 다음 중단점을 입력하려면 Go 버튼을 다시 누르세요.
이때 n의 값이 바뀌는데, 다시 Go를 눌러 다음 Breakpoint로 진입합니다.
n의 값이 다시 변경되고 중단점은 없으며 Go를 누르면 종료됩니다.
디버깅이 완료되었습니다.
IDLE에 포함된 프로그램 디버깅 기능은 프로그램의 전역 변수를 점진적으로 분석하는 데 도움이 되며, 라인 위치 지정을 통해 현재 함수의 지역 변수를 볼 수도 있습니다. the break 직접 클릭한 후의 테스트는 로컬 변수가 전역 변수로 변환되는 것을 보여줍니다. 이 디버깅 방법은 다른 사람의 프로그램을 이해하는 데에도 도움이 되며 학습에 큰 도움이 됩니다.