본문 바로가기
Language/Java

자바 디버그 설정 및 실행방법

by wakestand 2019. 12. 4.
반응형

여기 디버그 테스트 용 DebugTest용 클래스가 있는데

 

내용을 보면 int 타입의 배열 arr의 크기는 5인데

하단 for문에서 0부터 7까지 진행하기 때문에

0,1,2,3,4 까지는 돌아가다가 그 이후부터는 에러가 뜰 것이다

 

실제 코딩 시에는 이보다 훨씬 복잡하고 예측 불가능한 부분에서 에러가 발생하는 만큼

디버그를 활용하면 정확히 어느 순간에 에러가 발생하는지 알아낼 수 있다

 

먼저 이클립스 우측 상단에 있는 Open Perspective를 누르면

이렇게 창이 뜨는데 여기서 Debug를 선택해 준 뒤 Open을 눌러주면

우측 상단에 디버그가 추가된 것이 보인다

 

이후 코드로 돌아가 원하는 지점에 저렇게 더블 클릭을 해 주면

원 하나가 생기는데 이게 breakpoint고 

이 지점부터 코드를 한줄씩 진행 가능하다

 

디버그 클릭 뒤 Breakpoints 탭을 보면 Breakpoints를 어디에 지정했는지도 확인 가능하다

 

다음으로 실행 시 F11을 눌러 디버그로 실행시켜 주면

저런 창이 뜨는데 Switch를 누르면 바로 디버그 창으로 변경된다

 

내가 설정한 Breakpoint에서 부터 시작해 한 줄씩 진행할 수 있는데

주요 버튼들은 다음과 같다

 

Resume(F8)

- 다음 Breakpoint로 넘어감

 

Step Into(F5)

- 한 줄씩 지나가며 메소드를 만날 경우에는 그 메소드 안까지 들어감

 

Step Over(F6)

- 한 줄씩 지나가며 메소드를 만날 경우에는 따라 들어가지 않고 진행

 

설정한 Breakpoint들은 Remove All Breakpoints 버튼을 눌러 한번에 모두 없앨 수 있다

 

마지막으로 위 예제에 사용한 코드는 아래와 같다 

 

public class DebugTest {
	
	public void call() {
		System.out.println("Call!");
	}

	public static void main(String[] args) {

		int arr[] = new int[5]; // int 타입의 배열 arr 크기 5로 선언
		DebugTest dt = new DebugTest(); // 객체화
		dt.call(); // call 메소드 호출
		
		for(int i = 0; i<=4; i++) { // 0, 1, 2, 3, 4까지 진행 후 5에서 에러 발생
			System.out.println(arr[i] = i);
		}
		
		System.out.println("END");

	}

}
반응형

댓글