728x90
디버그 실행 흐름이란?
코드가 실제로 어떻게 한 줄씩 실행되는지를 눈으로 확인하는 과정입니다.
이를 통해 어떤 변수에 어떤 값이 언제 들어가는지, 어떤 조건에서 어떤 분기로 가는지를 알 수 있어요.
준비: 간단한 예제 코드
public class DebugExample {
public static void main(String[] args) {
int a = 5;
int b = 3;
int sum = a + b;
System.out.println("합계: " + sum);
}
}
1. 변수 추적 방법
IntelliJ에서 브레이크포인트 설정
- sum = a + b; 줄 왼쪽 줄 번호 클릭 → 🔴 브레이크포인트 생김
디버깅 실행
- ▶️ 옆에 있는 벌레 모양 아이콘 🪲 (Shift + F9) 클릭
변수 확인
- 코드가 멈추면 아래 Variables 탭에서:
a = 5
b = 3
sum = 0 (할당 전)
- 다음 줄 실행 후 sum = 8로 바뀜 확인 가능
2. 실행 흐름 따라가기 (Step 기능)
기능 | 단축키 | 설명 |
Step Over | F8 | 한 줄씩 실행 (함수는 건너뜀) |
Step Into | F7 | 함수 내부로 진입 |
Step Out | Shift + F8 | 함수 실행 마치고 밖으로 나감 |
Resume | F9 | 다음 브레이크포인트까지 실행 |
예:
int result = add(2, 3); // 여기서 F7 → add() 안으로 이동
3. 실행 흐름과 조건문 확인
if (sum > 5) {
System.out.println("5보다 큽니다.");
} else {
System.out.println("5 이하입니다.");
}
브레이크포인트를 조건문 안/밖에 걸고
어느 쪽으로 분기되는지 확인 가능 → 디버깅 흐름 이해에 효과적!
실전 팁
- Watch 탭에 a + b, sum * 2 등 원하는 식을 넣어 추적 가능
- Evaluate Expression (Alt + F8) 창에서 즉석 계산 가능
- 루프문 안에서도 변수 변화 추적 가능 (i, arr[i] 등)
마무리 요약
개념 | 설명 |
변수 추적 | 변수값이 언제, 어떻게 바뀌는지 확인 |
실행 흐름 확인 | 조건문/반복문 등에서 코드가 어디로 흐르는지 확인 |
도구 | 브레이크포인트, 디버그 실행, Step 기능 |
디버깅 도구 | Variables, Watches, Evaluate 창 |
추천 실습
- for 반복문에서 i 값 추적
- if-else 조건 분기 확인
- 함수 호출 시 Step Into로 내부 흐름 따라가기
LIST
'JAVA > 자주 나오는 에러 & 디버깅' 카테고리의 다른 글
IntelliJ에서 브레이크포인트 걸기 (0) | 2025.04.13 |
---|---|
NullPointerException 원인과 해결 (1) | 2025.04.13 |