[Eclipse] 디버깅 하는법(브레이크 포인트, 중단점 거는방법)
류명운
·2015. 8. 31. 06:53
교수님이 개인 과제로 이클립스 디버거 사용법에 대해 알아와 달라고하셔서, 공부도 할 겸, 이번 포스팅에서는 이클립스 디버거 사용법에 대해 알아보겠습니다*^^*.
디버거(debugger)란?
: 오류 수정기. 프로그램의 오류를 찾아내기 위한 소프트웨어의 총칭
이러한 디버거는 프로그래밍 시 오류의 원인을 정확히 그리고 빨리 파악하기 위해 사용됩니다. 대부분의 개발 환경에서 제공하는데 다행히 저희가 사용하는 이클립스에서도 쓸만한 디버거를 내장하고 있습니다.
하지만 저도 그랬었고, 꽤 많은 분들이 디버거의 존재 자체를 모르고 있거나 혹은 디버거가 있다는 사실은 알아도 그 효용성에 의문을 제기하곤 합니다. 왜냐하면 저 같은 경우에도 평소 Log클래스를 이용하여 로그를 찍어보거나 printf 같은 자신만의 훌륭한? 디버깅 도구가 있다고 생각하기 때문이죠. 물론 이렇게 필요한 변수 등을 찍어보면서 어떤 곳에서 버그가 있는지를 알아보는것이 잘못된 것은 아니지만 대형 프로젝트 등에서는 효율성 면에서 많이 떨어진다고 보시면 됩니다.
본론으로 다시 넘어와서 디버거를 사용하려면 사용법을 숙지하고 있어야겠죠?^^
이번 포스팅의 주요내용 구성입니다.
- Eclipse Debug (디버그) 활용
- Debug 아이콘 위치
- Debug Break Point
- Debug 창 모드
- 아이콘 설명
- Variables Tab 설명
- Breakpoints Tab
- 결과보기
- Debug 기능 설명 (단축키)
- 참고
Debug 아이콘 위치
이클립스의 상단 아이콘 메뉴 중
이 귀여운 아이콘
상단 메뉴 중 Project > Debug 기능
Servers Tab Debug 기능 (이건 WAS 실행시 디버그모드로 사용됩니다.)
Debug Break Point
Debug (디버그) 활용에 있어 영어 해석 그대로 멈출 지점을 의미 합니다.
소스창에서 마우스로 7번째 줄에 더블 클릭
더블 클릭시
브레이크 포인트의 아이콘이 생겨요. 디버그를 실행시 브레이크포인트 지점에서 실행이 멈추게 됩니다.
Debug 창 모드
한번 실행해 볼까요? 소스창에서 F11을 통해 실행 시킵니다. 그럼 Debug Mode로 화면이 전환이 되고 브레이크포인트 지점에서 멈추게 됩니다.
아래의 그림과 같이 주로 사용하는 부분들을 빨간 박스로 표시했습니다.
디버그의 기능 아이콘, 객체들의 상태를 알수 있는 Variables, 브레이크포인트 위치를 알려주는 Breakpoints,
브레이크포인트의 지점을 표시하는 소스창, 결과값을 볼 수 있는 Console 탭 등.
아이콘 설명
: 모든 Break Point를 무시
:
: 한 스텝씩 진행, 현재 소스창에서 한 스텝씩 진행
: 한 스텝씩 진행 (연결된 라이브러리 내부까지 들어가는 경우가 발생하기 때문에 잘 쓰지 않는다.)
: 멈추어 있던 쓰레드를 다시 진행, 다음 브레이크포인트까지 실행
: 종료
Variables Tab 설명
Variables 탭에서는 변수 객체의 상태를 알 수 있습니다. 아래 소스를 예로 들면
아래 name 변수에 stone 값을 볼 수 있습니다.
다른 방법으로 값을 확인할 수도 있어요. 해당 변수에 마우스를 올려놓으면 그림과 같이 말풍선으로 값을 확인 할 수 있고,
또 변수를 더블클릭 후 마우스 오른쪽 버튼을 눌르면
이 Inspect 를 선택 하면 동일한 말풍선이 뜨게 되요.
Breakpoints Tab
브레이크포인트 정보 및 제어할 수 있는 창 이에요.
: 선택한 Break Point 를 삭제
: 모든 Break Point를 삭제
: 모든 Break Point를 무시
선택된 Break Point 들을 Checkbox를 통해 무시할 수 있습니다. Check가 해제된 Break Point는 하얀돌로 변합니다.
결과보기
F6 및
을 선택한다면 선택한 브레이크포인트 지점으로 부터 한줄씩 실행하게 됩니다.
콘솔창에 순서대로 출력된 모습을 볼 수 있어요.
Debug 기능 설명 (단축키)
아이콘을 통해 클릭해도 되지만 단축키를 통해 제어한다면 훨씬 효율적이겠죠?
F5 : 한 스텝씩 진행 (연결된 라이브러리 내부까지 들어가는 경우가 발생하기 때문에 잘 쓰지 않는다.)
F6 : 한 스텝씩 진행, 현재 소스창에서 한 스텝씩 진행
F7 : 현재 메소드 끝까지 바로 가서 리턴한 후 메소드 호출부로 되돌아감
F8 : 멈추어 있던 쓰레드를 다시 진행, 다음 브레이크포인트까지 실행
Ctrl + F2 : 종료
(저는 주로 F6과 F8를 사용 합니다 ^^)
* 디버그 모드에서 중단점을 설정해놔도 무시하고 그냥 지나가버릴 때 -> 초기화(Preference-Java-Debug-Restore Defaults)
여기까지 간단한 이클립스 디버깅 사용법에 대하여 알아보았습니다. 현재 단기 프로젝트를 진행중인데, 오류 잡느라 비주얼 스튜디오 2012 툴에서 계속 디버깅만 하고 있네요ㅠㅠ 다들 디버그하는 개발 습관 들이셔서 빠르게 오류잡으시길 바랍니다 ㅎㅎ(오류 없는 코딩을(?)..ㅎㅎ)
'삶의 늪에 들어 가기 전 > 정리중(미정리)' 카테고리의 다른 글
한국성서대학교 15년도 2학기 2주차 묵상지[한국성서대 묵상지] (2) | 2015.09.04 |
---|---|
[컴퓨터구조]연습문제 pp.33-36 (0) | 2015.09.02 |
[네트워크 프로그래밍2]자바의 GUI (AWT와 SWING) (3) | 2015.08.26 |
한국성서대학교 15년도 2학기 1주차 묵상지[한국성서대 묵상지] (0) | 2015.08.25 |
서로를 이해하기 위하여 서평(방학과제) (0) | 2015.08.25 |