Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

이클립스(eclipse) 중단점 (breakpoint) 에서 조건 설정하기 


프로그램 작업을 하는 과정에서 소스 검증을 위해 디버그 모드는 필수적이다.

디버그 모드를 하는 이유는 데이터 흐름을 파악하기 위함인데 그러기 위해서

왼쪽 라인에 중단점(breakpoint) 을 찍는다. 이것은 thread 를 중간에 멈추게 하고

그 시점에서 데이터 상태를 볼수 있다.

그런데 중단점(breakpoint) 을 찍게 되면 무조건 그 위치에서 멈추게 된다. 이 지점에

조건을 걸어 특정상황에서 멈추게 하고 싶다면 어떻게 해야할까?

이것이 가능하면 소스에서 특정 조건을 주어 멈추게 하는 추가작업은 필요하지 않을

것이므로 상당히 효율적인 지원이 될것이다.

 

먼저 테스트를 위해 Junit 클래스를 만든다. 단위 테스트를 위해서는 이것만 한게 없다.

그리고 test 함수를 하나 만들어 간단하게 소스를 집어 넣는다.


import junit.framework.TestCase;

public class BreakProperty extends TestCase {
	public void testBreakPoint(){
		int count = 1;
		boolean type = false;
		
		if (count == 1){
			System.out.println("break point success");
		}
	}
}

그리고 if (count = 1) 부분에 breakpoint 를 찍는다. 이부분에 조건을 걸고 조건에

만족한 상황이면 중단점(breakpoint) 설정한 곳에 멈추게 될것이다.

조건설정을 위해 포인트를 가리킨후 오른쪽 마우스를 클릭한다. 그리고 그림에서처럼

Breakpoint Properties.. 메뉴가 나온다. 이것을 클릭하고 들어가면 설정창이 나오게 된다.

 


이곳에서 Enable Condition 을 체크하고 Edit 박스 내부에 조건값을 넣는다.

type 이라는 변수값이 true 이면 breakpoint 에서 멈춘다는 조건이다.

위의 소스상으로 봐서는 breakpoint 에서 멈추게 될 것이다. 만약 type

false로 바꾸면 그냥 지나가 버릴 것이다

 

이렇게 디버깅에서 상세한 제어가 가능하다는 것이 정말 개발자로서 반가운 일이다.

하지만 이렇게 만들어 놓은 기능을 활용하지 못한다면 없는 것 보다 못하다.

항상 공부한다는 자세로 어떤 기능을 활용해서 더 개발 효율을 높여 볼까 라는

생각들은 개발자와 인생을 살아가는 우리들에게는 필수 덕목이 아닐까 생각해 본다.
반응형
Posted by 녹두장군1
,