카테고리 없음

🐞 IntelliJ 완전 정복 시리즈 6편

밥알이 2025. 6. 18. 06:41

디버깅 기능 완전 정복

IntelliJ IDEA는 뛰어난 디버깅 기능을 제공합니다. 단순한 breakpoint 설정부터 조건부 디버깅, Evaluate Expression, HotSwap까지, 개발자의 시간을 아껴주는 기능이 다양하죠.
이 글에서는 실무에서 자주 사용하는 IntelliJ 디버깅 기능을 예제와 함께 정리했습니다.


📌 자주 쓰는 디버깅 기능 요약

기능 설명 단축키 (Win / Mac)
디버그 실행 디버깅 모드로 애플리케이션 시작 Shift + F9 / Ctrl + D
Step Over 다음 줄로 이동 (메서드 내부 진입하지 않음) F8
Step Into 메서드 내부로 진입 F7
Step Out 현재 메서드 탈출 Shift + F8
Evaluate Expression 실행 중 변수 또는 표현식 값 확인 Alt + F8 / ⌥ + F8
조건부 Breakpoint 특정 조건일 때만 중단 Ctrl + Shift + 클릭 / ⌘ + Shift + 클릭
Force Return 메서드 강제 종료 후 값 반환 디버그 창에서 실행

🔍 Breakpoint 설정과 활용

디버깅의 기본은 Breakpoint 설정입니다. 코드를 실행 중 해당 줄에서 중단시키고 상태를 확인할 수 있습니다.

  • 일반 Breakpoint: 코드 왼쪽 여백 클릭
  • 조건부 Breakpoint: Shift 누른 채 클릭 후 조건 입력 (예: user.getAge() > 20)
  • 로그 출력 Breakpoint: 코드 중단 없이 로그 메시지만 출력

 

💡 Evaluate Expression 사용법

디버깅 중 특정 표현식의 값을 직접 확인하고 싶다면 Evaluate Expression 기능을 사용하세요.

  1. 디버깅 상태에서 Alt + F8을 누릅니다.
  2. 입력창에 원하는 표현식 (예: user.getName()) 입력
  3. 즉시 현재 값 확인 가능

조건문이나 함수 호출 결과도 실시간으로 확인할 수 있어 매우 강력합니다.


🔥 HotSwap으로 코드 변경 적용

디버깅 도중 코드 일부를 수정하고 싶다면 HotSwap 기능을 활용해보세요.

  • 디버깅 중 코드를 변경
  • IDEA 하단에서 “Apply Code Changes” 버튼 클릭
  • 애플리케이션 재시작 없이 변경 내용 적용 가능

※ 일부 JVM 환경에서는 제한될 수 있습니다. Spring Boot에서는 대부분 잘 동작합니다.


📎 디버깅 팁 모음

  • 디버깅할 때 “Variables” 창“Watches” 창 적극 활용
  • Smart Step Into (Shift + F7): 람다나 여러 메서드가 한 줄에 있을 때 특정 메서드 진입
  • 익명 클래스나 람다 내부 로직도 디버깅 가능

🚀 마무리하며

IntelliJ IDEA의 디버깅 기능을 숙지하면 복잡한 버그를 훨씬 빠르게 해결할 수 있습니다.
처음에는 어려울 수 있지만, 단축키와 패턴을 익히면 마우스 없이 디버깅을 마스터할 수 있어요.
리팩토링과 디버깅을 함께 잘 사용하는 개발자는 실력도, 생산성도 한 단계 높아집니다.

다음 편에서는 코드 템플릿 및 자동완성 기능 완전정복을 주제로, 반복되는 코드를 효율적으로 작성하는 팁을 소개합니다.