JAVA - 디버그 프로그램(2022-07-13)

2022. 7. 14. 00:253층 1구역 - 개발의 장/JAVA

군인분들은 나라를 지키기 위해 항상 전시태세를 갖추고 있다.(감사합니다. 여러분들 덕에 대한민국이 안전합니다!!)

 

개발자들은 항상 프로그램 버그와 싸운다. 버그가 안 생기면 "왜 안 생기지?"

버그가 생기면 "왜 생겼지?" 하루 하루 의문 속에서 살아가는 거 같다...

버그를 맞이하는 개발자의 겸허한 자세

 

이 얘기를 왜 하냐하면.... 오늘 할 얘기가 디버그 프로그램에 관한 것이다.

 

처음 개발을 시작했을 때,

개발 프로그램이 분명 오류가 났다라고, 말은 해주고 있는데

우리가 말귀를 못 알아먹어서 자바 개발 프로그램이 답답해서

일련의 동작을 하나하나 보여주는 기능이라고 생각하면 될 듯 하다.

 

package loop_for_0712;

public class Ex10 {

	public static void main(String[] args) {
		int i, total = 0;
		/*
		 * 디버그 기능
		 * 브레이크 포인트 : Ctrl + Shift + b
		 * 디버그 시작 : f11
		 * 실행과정 보기 f6
		 * */
		for (i=1; i <= 10; i++) {
			total += i;
		}
		System.out.println("합계 : " + total);
	}

}

먼저 브레이크 포인트를 잡아 주도록 하자.

 

브레이크 포인트를 잡게 되면 13번 줄 옆에 파랗게 동그라미 쳐진다.

그리고 디버그를 실행 시키면

동그라미 옆에 체크 표시와 처음 실행시킨 사람은 저런 알림박스가 뜰 것이다. Swich를 눌러주자.

그러면 어딘가에는 Debug창이, 어딘가에 Variables 창이 뜰 것이다.

짠!

만약 Variables창이 보이지 않는다면

Window > Show View > 원하는 창을 표시, 하면 된다.

이제 실행과정을 확인해 보자.

f6을 누르면

f6을 누를 때마다, 브레이크 포인트 기점으로 코드문을 구분동작으로 실행시켜주는 모습을 볼 수 있다.

 

보통 개발자들은 이런 기능을 쓸까 모르겠지만,

배우고 있는 필자에게 있어서

어떤 퀴즈가 주어지면 그 퀴즈의 조건과 뭔가 다르다고 생각되면 디버그 기능으로

구분동작을 보며 여기서 이렇게 가는구나 라는 것을 알 수 있을 거 같았다.

 

혹은 퀴즈의 정답이 어떤 과정으로 출력이 되는지를 알 수도 있을 것이다.