여러분 안녕하세요 스마트인재개발원입니다.
오늘은 이클립스의 디버거 사용법에 대해 공부하겠습니다.
클래스를 하나 작성해서 아래 코드와 동일하게 입력하세요!
Eclipse 우측 상단에 있는 벌레 모양을 클릭하여 Debug Person Perspective 모드로 전환합니다.
- 브레이크 포인트 지정
System.out.println()이 포함된 행 번호에서 오른쪽 버튼을 클릭하고 Toggle Breakpoint를 누르거나 더블 클릭하면 파란색 원이 표시됩니다.
브레이크 포인트는 오류 또는 의심스러운 변수를 추적할 라인 위치로 지정합니다.
이렇게 지정해 놓은 상태에서 디버거를 실행하면 해당 변수에 할당되는 값의 변화를 확인할 수 있습니다.
또한 여러 개를 지정하여 해당 라인을 통과할 때마다 변화를 확인할 수 있습니다.
2. 디버거 실행 브레이크 포인트를 지정하고 디버거를 실행합니다.디버거 실행 버튼은 실행 버튼 왼쪽의 벌레 모양을 클릭하거나 F11을 누르십시오.
디버거를 실행하면 브레이크 포인트 라인이 녹색으로 블록 처리되는 것을 볼 수 있습니다.
3. 디버깅을 진행하면서 변수값 변화를 확인한다 (Variables view)
Debug Perspective 모드로 잘 전환하셨더니 오른쪽에 Variables 창이 보입니다.
브레이크 포인트를 걸고 디버거를 실행시켜 볼까요?
다음과 같이 브레이크 포인트 2개를 걸고 디버거를 실행하면 첫 번째 포인트 문장이 녹색 블록 처리가 됩니다.
Variables View에 표시되는 변수는 블록 처리된 라인 기준으로 위에서 먼저 선언된 변수가 표시됩니다.
그러면 디버깅을 진행하면서 변수 값이 어떻게 변하는지 확인해보겠습니다.
디버깅을 실행하면 왼쪽 상단의 다음과 같이 버튼이 활성화됩니다.
Resume 버튼을 클릭해 보세요. (Tip. 단축키 F8)
Resume 버튼을 클릭하면 브레이크 포인트에서 지정된 라인으로 이동하면서 변수의 변화를 관찰할 수 있습니다.
Variables view 변수 값이 달라지는 것이 보이나요?
이렇게 브레이크 포인트와 Resume를 활용하면 변수의 변화를 추적하면서 어디서 이상이 생기는지 확인할 수 있습니다.
4. 스텝단위필터링
디버깅을 실행하면 이렇게 하나의 단계 단위로 변화를 관찰할 수 있습니다.
아까 보이셨던 Resume 버튼 옆에 있는 버튼의 의미를 알려드릴게요.
Step Into(F5 키) : 프로그램을 한 단계 진행하고 다음 실행문이 함수 안이라면 함수 안에 들어간다.
Step Over(F6 키) : 함수 호출을 지나 현재 위치에서 한 단계씩 진행
Step Return(F7 키) : 현재 함수 끝까지 쭉 가서 리턴한 후 함수 호출부로 돌아간다.
StepInto 버튼은 실행문 중에 메서드가 있으면 메서드 안에 들어가서 실행 과정을 살펴볼 수 있습니다.
오류를 더 자세히 관찰하려면 꼭 필요한 단계입니다.
Step Over 버튼은 함수에 들어가지 않고 현재 위치에서 ‘1단계’만 진행합니다.
Breakpoint로 이동하는 것이 아닙니다.
Step Return은 Step Into 키로 함수 안에 들어갔을 때 함수 안의 명령을 한 단계씩 진행하지 않고 바로 리턴하여 호출부로 돌아갑니다.
지금까지 Eclipse 디버거에 대해 알아봤는데요.
애플리케이션이 커지고 복잡해지면서 디버거 사용은 개발자에게 큰 도움이 됩니다.
스마트인재개발원 블로그에서는 프로그래밍 정보뿐만 아니라 다양한 정보를 전달하고 있으니 도움이 되셨다면 이웃분들의 추가와 공감 부탁드립니다!
그럼 저는 다음에도 개발에 도움이 되는 자료를 가지고 돌아오겠습니다!
감사합니다。