썩구노트

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기 본문

JAVA

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

양석규 2016. 12. 7. 15:14

프로그램에서 디버깅은 필수 입니다디버깅을 어떻게 하느냐에 따라 프로그램의 생산성과 능력이 결정되기 때문입니다그래서 프로그램하실 때 GUI 툴에는 디버깅 기능이 아주 잘 되어 있습니다.자바개발에서 가장 많이 쓰이고 있는 이클립스에도 디버깅 기능이 있죠.

 

▼ 이클립스에는 debug perspective 가 있습니다. Run/Debug 를 하게 되면 자동으로 Debug perspective 로 이동하게 됩니다이곳에서 디버깅을 하게 되는 것이죠디버깅 perspective 를 추가하기 위해 Open Perspective 를 클릭해 보시면 볼수 있습니다 

 

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

1. 브레이크 포인트

 

▼ 디버깅은 가장 핵심은 브레이크 포인트 입니다그러니까 조사하고 싶은 시점에 진행을 멈추고 각 객체에 들어가 있는 값들을 확인하는 것이죠에디터에서 의심되는 소스의 라인을 더블클릭하시면 조그마한 점이 찍힙니다이것이 브레이크 포인트 입니다프로세스가 단계별로 진행되다고 이곳에 오게 되면 멈추게 되겠죠.

 

 

▼ 실제로 브레이크 포인트에서 멈추는지 확인해 보겠습니다. F11 단축키를 누르거나Run 메뉴 > Debug 를 클릭합니다그럼 바로 디버깅 모드로 컴파일이 진행됩니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

▼ 컴파일이 되고 프로그램이 실행되면 브레이크 포인트가 있는 라인에서 아래 그림과 같이 멈추게 되는 것이죠이 소스를 작성한 본인은 브레이크 포인트를 찍은 목적이 있습니다자신의 생각대로 출력값이 안 나오거나 에러가 나서 원인이 무엇인지 파악하기 위해서 겠죠이렇게 원인을 파악하기 위해 단계를 진행하는 방법과 각 변수에 값이 무엇인지 확인하는 방법에 대해 알아 보겠습니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

2. 디버깅 진행

 

▼ 디버깅을 하게 되면 위에서 언급했던 대로 Debug Perspective 화면으로 전환됩니다. Debug Perspective 상단에는 디버깅을 진행할수 있는 아이콘들이 나타납니다이 아이콘들의 용도는 다음과 같습니다여기에서 아주 유용한 기능중 하나가 Drop to Frame 입니다. F6 을 눌러 단계별로 진행하다가 보고 싶은 변수 값을 놓치는 경우가 있죠그때 Drop to Frame 을 누르게 되면 해당 함수의 처음으로 이동하게 되므로 다시 확인해 볼수 있습니다.

 

1) Skip All Breakpoints : 모든 브레이크 포인트 건너뜀

2) Resume(F8) : 다음 브레이크포인트까지 진행함

3) Suspend : 쓰레드를 일시 정지하며 현재 수행문에 지정한 것과 같음

4) Terminate : 쓰레드 종료

6) Step Into(F5) : 한단계 진행하는데 다음 라인이 함수 안이면 함수 안으로 들어감.

7) Step Over(F6) : 함수 호출을 지나치고 현재 위치에서 한 단계 진행

8) Step Return(F7) : 현재 함수 끝까지 바로 가서 리턴한 후 함수 호출부로 되돌아 감

9) Drop to Frame : 선택한 스택 프레임의 첫 행으로 이동처음부터 다시 하고자 할 때

10) Use Step Filters(Shift+F5) : 스텝 필터링

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

 

▼ 이렇게 디버깅 진행 메뉴들은 상단 아이콘이 아닌 메뉴에서도 볼수 있습니다. Run메뉴에 보시면 Debug Perspective 화면에서 볼수 있던 모든 디버깅 메뉴들이 있습니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

3. 현재 브레이크되어 있는 시점에서 객체값 확인하는 방법

 

▼ 이제 단계별로 진행하는 방법을 알았으니 변수들에 들어 있는 값을 확인해서 문제점을 찾아 봐야 겠죠. Step Into  Step Over 를 눌러 단계별로 진행하면서 의심되는 변수가 있다면 마우스로 가져갑니다그럼 팝업창이 뜨면서 해당 변수에 값들을 볼수 있습니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

 

▼ 현재 프로그램에서 쓰이고 있는 모든 변수들을 확인하고 싶다면 상단에 있는Variables 창으로 갑니다마우스로 확인하는 방법은 하나만 확인이 가능하지만Variables 창에서는 모든 변수들을 실시간으로 확인할수 있습니다. 

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

▼ [Variables] 바로 옆에 있는 [Breakpoints] 탭은 현재 프로젝트에 설정되어 있는 모든 브레이크 포인트 정보를 볼수 있습니다해당 브레이크 포인트를 스킵하고 싶다면 체크해제 하시면 됩니다그리고 항목을 더블클릭하시면 브레이크 포인트가 설정된 포인트로 바로 이동할수 있습니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

▼ 마지막 탭인 Expressions 은 내가 주로 보고 싶은 변수들을 추가해서 관찰할수 있습니다. Variables 는 변수들이 전부 모여 있기 때문에 일일이 찾아서 보기에는 불편합니다그래서 필요한 것만 추가해서 관찰할수 있는 Expressions 을 많이 이용하게 됩니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기

 

▼ Expressions 창에 추가하고 싶다면 변수를 선택하고 오른 마우스를 클릭합니다그리고 단축메뉴중 [Watch] 클릭하시면 바로 추가 됩니다.

[Java] 자바 디버깅 방법, 이클립스를 이용해서 자바 디버깅 하기



출처:http://mainia.tistory.com/2259