6.IntelliJ IDEA에서 Spring Boot Java 프로그램 디버깅하는 방법
Spring Boot 애플리케이션을 디버깅하려면 IntelliJ IDEA의 강력한 디버깅 도구를 활용하는 것이 가장 효과적입니다. 초보자를 위한 가이드를 따라하면 쉽게 디버깅에 익숙해질 수 있습니다. 아래는 단계별로 설명된 IntelliJ IDEA에서의 디버깅 방법입니다.
의외로 디버깅을 잘 활용하지 못하는 개발자 분들이 있습니다. 그러나 고급 개발자에게도 디버깅 능력이 곧 개발 능력이라고 할 수 있을 만큼 디버깅은 중요합니다. 초급 개발자 분들이 디버깅을 효과적으로 활용할 줄 안다면, 아마도 어느 누구보다 개발 역량을 빠르게 키워나갈 수 있을 겁니다. 오늘도 제 블로그가 도움이 되셨으면 하며, 실력 또한 일취월장하시기 바랍니다.
1. 디버깅 설정 준비
- Spring Boot 프로젝트 열기
IntelliJ IDEA에서 디버깅하려는 Spring Boot 프로젝트를 엽니다. - Breakpoints 설정
- 디버깅하려는 코드 라인 번호를 클릭합니다.
클릭하면 아래 이미지와 같이 코드 라인 번호에 빨간색 점(Breakpoint)이 생깁니다. - 예: Application 클래스에 createData 메소드 코드 라인 36번에 Breakpoint 설정.
- 디버깅하려는 코드 라인 번호를 클릭합니다.
- (참고) Run/Debug Configurations 설정
- 화면 상단의 툴바에서 구성 편집(Edit Configurations)를 클릭하면, Spring Boot 애플리케이션 실행 설정을 확인할 수 있습니다.
- 설정 내용을 수정하거나 추가할 수 있으나, Spring boot 기본 설정을 잘 따라 왔다면 특별히 추가 수정이 필요하지 않음
- 툴바의 실행 버튼 또는 디버깅 버튼을 클릭하면 박스에 선택된 Application이 실행됩니다.
2. 디버그 모드로 애플리케이션 실행
- 디버그 실행
- 툴바에서 녹색 Debug 아이콘(벌레 모양)을 클릭합니다.
- 단축키: Shift + F9
- 디버그 창 확인
- 하단에 디버그 관련 정보가 표시되는 디버그 창이 활성화됩니다.
- 디버깅 중에는 Variables, Watches, Frames 탭에서 변수 값, 호출 스택 등을 확인할 수 있습니다.
3. 디버깅 기능 사용법
- 코드 실행 흐름 제어
- Step Into (F7): 메소드 내부로 진입.
- Step Over (F8): 현재 라인의 메소드를 실행하되 내부 진입 없이 다음 라인으로 이동.
- Step Out (Shift + F8): 현재 메소드 실행을 완료하고 호출한 메소드로 복귀.
- 변수 값 확인
- Variables 탭에서 변수 값을 실시간으로 확인하거나, 코드 위에 마우스를 올려 변수 값을 확인합니다.
- 특정 변수에 값을 추가로 확인하고 싶다면 Watches에 등록합니다.
- Breakpoint 관리
- Breakpoint를 우클릭해 조건을 추가하거나 활성/비활성화할 수 있습니다.
- 조건 예: 특정 변수 값이 특정 값일 때만 멈추기.
4. 문제 해결 및 디버깅 종료
- 문제 해결
- 디버깅하면서 발견된 문제를 코드에서 수정합니다.
- 수정 후 애플리케이션을 다시 실행하여 문제가 해결되었는지 확인합니다.
- 디버깅 중지
- 디버깅이 끝나면 툴바의 Stop 버튼을 클릭하거나, 단축키 Ctrl + F2를 눌러 애플리케이션을 종료합니다.
5. 디버깅 팁
- 로그 활용: 디버깅 전, application.properties에 로그 수준을 debug로 설정하여 로그를 함께 분석합니다.
- Hot Swap 사용: 디버깅 중에 코드 수정 후, 애플리케이션을 다시 시작하지 않고도 수정 사항을 반영할 수 있습니다.
(Settings > Build, Execution, Deployment > Debugger > Hot Swap 설정 확인)
※ 설정이 완료되었으면 실행 중인 애플리케이션에서 Hot Swap을 아래와 같이 사용합니다.
- 디버그 모드로 애플리케이션 실행
- 프로젝트를 디버그 모드로 실행합니다.
(Shift + F9 또는 디버그 아이콘 클릭)
- 프로젝트를 디버그 모드로 실행합니다.
- 코드 수정 후 컴파일 (☞ 아래와 같이 수동 컴파일하면 프로그램 재시작 없이 계속해서 디버깅이 가능 합니다.)
- 코드를 수정합니다.
- Ctrl + F9 (Windows/Linux) 또는 Command + F9 (Mac)로 수동 컴파일을 수행합니다.
- IntelliJ IDEA가 변경된 클래스 파일을 실행 중인 애플리케이션에 자동으로 로드합니다.
위 내용을 따라 IntelliJ IDEA에서 Spring Boot 디버깅을 처음부터 끝까지 수행할 수 있습니다. 디버깅은 단순한 기능 이해를 넘어서 문제 해결 능력을 키우는 중요한 스킬이니, 다양한 프로젝트에서 연습하며 익숙해져 보세요!