본문 바로가기
JAVA/자주 나오는 에러 & 디버깅

변수 추적과 실행 흐름 확인

by DEVLIB 2025. 4. 13.
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