[이클립스톰캣디버깅,이클립스사용디버깅]EclipseTomcat디버깅,웹애플리케이션디버깅(Eclipse3.X Tomcat7
Debugging)
가끔은 이클립스를 이용하여 웹애플리케이션을 디버깅 해야 하는 경우가 있다. 아래 간단한 예제로 이를 실습해
보자.
Spring MVC 프로젝트 하나 만들고 Tomcat7을 이용하여 Eclipse로 웹프로그램을 디버깅 해보기로 하자.
1. 이클립스에서 Spring MVC Project 하나 추가하자. (프로젝트명은 onjweb, top level package명은 간단히 a.b.onjweb 으로 하자)
2. 아래와 같이 Spring MVC 템플릿 프로젝트가 만들어 질 것이다.
기본적으로 HelloController와 home.jsp를 포함하는 프로젝트가 생성된다.
3. 먼저 디버깅을 원하는 곳에 breaking point를 설정하자.
- 소스 왼쪽 회색으로 된 부분을 더블 클릭하여 브레이크 포인트를 설정한다.(그곳에 돋보기가 생긴다. 본 예제에서는 model.addAttribute부분에 브레이크 포인트를 설정하여 formattedDate의 값을 알아보기로 한다.)
Spring MVC 프로젝트 하나 만들고 Tomcat7을 이용하여 Eclipse로 웹프로그램을 디버깅 해보기로 하자.
1. 이클립스에서 Spring MVC Project 하나 추가하자. (프로젝트명은 onjweb, top level package명은 간단히 a.b.onjweb 으로 하자)
2. 아래와 같이 Spring MVC 템플릿 프로젝트가 만들어 질 것이다.
기본적으로 HelloController와 home.jsp를 포함하는 프로젝트가 생성된다.
3. 먼저 디버깅을 원하는 곳에 breaking point를 설정하자.
- 소스 왼쪽 회색으로 된 부분을 더블 클릭하여 브레이크 포인트를 설정한다.(그곳에 돋보기가 생긴다. 본 예제에서는 model.addAttribute부분에 브레이크 포인트를 설정하여 formattedDate의 값을 알아보기로 한다.)
:namespace
prefix = o /><?XML:NAMESPACE PREFIX = O />

4 . Tomcat을 디버그 모드로 실행하자. (우측 마우스 버튼클릭 -> Debug 클릭)
5. onjweb
프로젝트에서 마우스 우측 버튼 클릭하여 프로젝트를 실행하자.
Select from one of the following option을
선택하라고 하면
Continue in the current mode로 실행하자.
디버그 모드로 되면서 아래와 같은 창이 뜬다.

6. 값을 확인하기 위한 특정 변수(formattedDate)를 더블 클릭하여 범위를 지정 후 마우스 우측 버튼을 누르면 다음과 같은 메뉴가
나온다

.

.
-
Watch메뉴의 __EXPRESSION__s 창
__EXPRESSION__s 창에서는 지속적으로 값을 확인하려는 변수 목록이
나온다. 원시타입인 경우 값을 바로 확인 할 수도 있고 객체 타입의 경우에는 객체 세부내용을 확인할
수 도 있다.
뷰 아래쪽의 “Add new __EXPRESSION__" 을 사용하면
소스코드에는 없지만 식을 통해 다른 값들도 확인이 가능하다.
아래는 __EXPRESSION__창을 더블 클릭해서 크게 했다.

다른 메뉴인 Inspect메뉴를 클릭하면
아래와 같은 창이 떠서 변수의 세부적인 정보를 보여준다.

다른 메뉴인 Display를 클릭하면 아래와 같은 창을 통해 세부적인 정보를
확인할 수 도 있다.

7. 이클립스 상단의 스텝 단위 디버깅 메뉴 사용법은 다음과 같다.
Step Into(F5) : 실행 코드에서 한 단계 안으로 진행 , 프로그램을 한 스텝진행, 다음 실행 문이 메소드 안이면 함수
안으로 들어간다.
Step Over(F6) : 다음줄 진행 ,
함수 호출을 지나치고 현재 위치에서 한 스텝씩 진행한다.
Step Return(F7) : 현재 메소드 끝까지 바로 가서 리턴 후 메소드
호출한 곳으로 되돌아 간다.
Resume(F8키) : 쓰레드를
다시 진행시키고 다음 브레이크포인트까지 실행.
Suspend : 쓰레드를 일시 정지,
강제로 breakpoint를 현재 문장에 지정한 것과 같다.
Drop to Frame : 선택한 스택 프레임의 첫 행으로 실행 포인트를
옮긴다. 특정 메소드를 실행하다 그 메소드의 처음부터 다시 디버깅하려고 할 때 사용한다.
Terminate : 디버깅을 종료한다.
Use Step Filters: F5키(Step
into)로 한 스텝씩 진행하다 보면 자바나 프레임워크 라이브러리 내부로 들어가는 경우가 발생한다.
그런데 어떤 함수는 안으로 들어가보고 싶기도 하고, f5, f6, f7을 누를 때 마다
신경쓰기는 어려울 수 있다. 이럴 때 사용할 수 있는 기능이 스텝 필터링이다. 스텝필터로
원하지 않는 타입들을 필터링할 수도 있고 디버깅시 브레이크 포인트가 걸리지 않게 할 수 도 있다. 이렇게 함으로서 관심있는 코드만 볼 수 있고
소스가 있지도 않은 부분까지 브레이크가 걸리는 것을 막을 수 있다.



댓글 없음:
댓글 쓰기