티스토리 뷰

728x90
반응형

이클립스에서 디버그 하는 방법

1. 브레이크포인트 설정

브레이크포인트(Breakpoint)는 디버깅 중 프로그램의 실행을 일시적으로 멈추게 하는 지점.

  • 소스 코드를 열고, 원하는 줄의 번호 왼쪽 여백을 더블 클릭. 그러면 파란색 점이 나타나며, 이 점이 브레이크포인트.
  • 또는, 해당 줄을 선택한 후 마우스 오른쪽 버튼을 클릭하고 "Toggle Breakpoint"를 선택할 수도 있다

2. 디버그 모드로 실행

  • 메인 클래스 실행: 메인 메서드가 있는 클래스를 열고, 상단의 실행 아이콘 옆에 있는 작은 벌레 모양 아이콘(디버그 아이콘)을 클릭.
  • 메인 클래스 선택: 만약 디버깅할 클래스를 명시적으로 선택하고 싶다면, 프로젝트 탐색기(Project Explorer)에서 해당 클래스를 마우스 오른쪽 버튼으로 클릭하고 "Debug As" -> "Java Application"을 선택.

3. 디버그 뷰 이해하기

디버그 모드로 실행하면 이클립스는 자동으로 디버그 퍼스펙티브(Debug Perspective)로 전환된다. 여기서는 다음과 같은 주요 뷰(View)를 사용하게 된다.

  • 디버그(Debug) 뷰: 현재 디버깅 중인 스레드와 스택 프레임(Stack Frame)을 보여준다.
  • 변수(Variables) 뷰: 현재 스택 프레임에서 사용 가능한 변수와 그 값을 보여준다.
  • 브레이크포인트(Breakpoints) 뷰: 설정된 모든 브레이크포인트를 보여준다.
  • 콘솔(Console) 뷰: 프로그램의 출력 내용을 보여준다.

4. 디버깅 제어

  • 재개(Resume): 프로그램을 다음 브레이크포인트까지 계속 실행. (단축키: F8)
  • 단계별 실행(Step Into): 메서드 호출로 들어가서 한 줄씩 실행. (단축키: F5)
  • 단계적 건너뛰기(Step Over): 메서드 호출을 한 줄로 건너뜀. (단축키: F6)
  • 단계적 반환(Step Return): 현재 메서드를 모두 실행하고 호출 지점으로 돌아감. (단축키: F7)
  • 종료(Terminate): 디버깅을 중단하고 프로그램을 종료. (단축키: Ctrl + F2)

 

5. 표현식 평가 및 감시

  • 표현식(Evaluate): 실행 중인 코드에서 특정 표현식의 값을 평가할 수 있다. 디버그 뷰에서 "Expressions" 뷰를 열고, 마우스 오른쪽 버튼을 클릭하여 "Add Watch Expression"을 선택.

위의 그림처럼 특정변수의 값을 확인하거나 수식사용가능

 

  • 실행 중인 변수 변경: 변수를 변경하고 싶다면 "Variables" 뷰에서 해당 변수를 선택하고, 값을 변경할 수 있다.

6. 조건부 브레이크포인트

  • 조건부 브레이크포인트를 사용하면 특정 조건이 참일 때만 프로그램을 멈출 수 있다. 브레이크포인트를 마우스 오른쪽 버튼으로 클릭하고 "Breakpoint Properties"를 선택한 후 조건을 설정.

조건부 브레이크포인트 사용방법

  1. 브레이크포인트 설정: 소스 코드에서 중단점(브레이크포인트)을 설정한다. 이는 일반적으로 코드 왼쪽 여백을 클릭하여 설정하거나, 코드 라인에 마우스를 가져다 대고 Ctrl+Shift+B (Windows/Linux) 또는 Cmd+Shift+B (Mac) 단축키를 눌러 설정할 수 있다.
  2. 브레이크포인트 속성 열기: 설정한 브레이크포인트에 마우스 오른쪽 버튼을 클릭하고 "Breakpoint Properties"를 선택한다. 또는 해당 브레이크포인트를 더블 클릭하여 속성 창을 열 수도 있다.
  3. 조건 설정: 속성 창에서 "Conditional" 옵션을 활성화하고, 여기에 조건을 입력한다. 조건은 일반적인 Java의 조건식을 사용하여 작성할 수 있다. 예를 들어, 변수 count가 특정 값 이상일 때 중단하려면 count >= 100과 같이 입력.
  4. 조건 적용 및 확인: 조건을 입력한 후에는 속성 창을 닫는다. 이제 설정한 조건이 참일 때만 해당 브레이크포인트에서 프로그램이 중단.

7번라인에 브레이크포인트를 걸었지만 Conditional에 입력한 조건이 거짓이기 때문에 멈추지 않고 지나감

728x90
반응형