Develop/etc
[IntelliJ] 편하게 디버깅하기
연로그
2022. 6. 18. 02:07
반응형
😊 서론
원래는 System.out.println()을 찍어가며 디버깅을 했었다. 좋지 않은 습관임은 알았지만 다른 공부할게 너무 많아서 우선순위가 뒤로 밀려났다. 이전 미션에서 페어 프로그래밍을 진행하며 페어인 호호가 몇 가지 팁을 가르쳐줬는데 그렇게 편할수가 없었다. 나같은 디버깅 초보자들을 위해 IntelliJ의 디버깅 기능을 소개해보려고 한다.🤭
현재 작성자는 Windows 사용자 입니다. Mac의 단축키가 불일치하는 경우 댓글로 알려주시면 감사합니다 ~
이 글은 IntelliJ 2021.2.3 버전을 기준으로 작성하였습니다.
🤗 유용한 단축키
👉 파일 검색
- Windows: ctrl + shift + N
- Mac: ⌘ + ⇧ + O
👉 코드 검색
- Windows: ctrl + shift + F
- Mac: ⌘ + ⇧ + F
👉 최근에 열었던 파일 목록
- Windows: Ctrl + E
- Mac: ⌘ + E
😎 디버깅 하기
📌 break point 잡기
- 라인 넘버와 코드 사이의 여백을 클릭해 break point를 생성할 수 있다.
- break point는 debug 모드로 실행 시 해당 라인에서 멈추게 된다.
- break point를 우클릭하면 멈춤 조건을 지정할 수 있다.
👾 debug 모드로 실행하기
- 벌레 모양 버튼 클릭 (이미지 참고)
- Windows: alt + shift + F9
- Mac: ⌥ + ⇧ + F9
🧪 debugging
- resume
- 다음 break point로 이동
- Windows: F9
- Mac: ⌥ + ⌘ + R
- step over
- 현재 break된 파일의 다음 라인 이동
- Windows / Mac: F8
- step into
- 현재 break된 라인에서 실행 중인 라인으로 이동
- Windows / Mac: F7
- ex) UserService의 userDao.save() 라인
-> step into
-> UserDao의 save() 메서드로 이동
- force step into
- stepping에 설정된 클래스/메서드 과정은 스킵하지 않고 현재 break된 라인에서 실행 중인 라인으로 이동
(step into는 스킵한다) - Windows: alt + shift + F7
- Mac: ⌥ + ⌘ + F7
- stepping에 설정된 클래스/메서드 과정은 스킵하지 않고 현재 break된 라인에서 실행 중인 라인으로 이동
- step out
- 현재 break된 라인에서 호출한 곳으로 이동
- Windows: shift + F8
- Mac: ⇧ + F8
- ex: UserService의 userDao.save() 라인
-> step into
-> UserDao의 save() 메서드로 이동
-> step out
-> UserService의 userDao.save() 라인으로 돌아옴
(= step into를 통해 타 클래스의 메서드를 살펴보고 있을때, step out을 통해 해당 메서드를 호출했었던 원래 위치로 돌아올 수 있음)
- drop frame
- step out와 동일한 기능
- step out처럼 원래 위치로 돌아오지만 step out은 해당 라인을 실행한 후, drop frame은 해당 라인을 실행하기 전으로 돌아옴
- run to cursor
- 포커스 되어있는 라인으로 이동
- Windows: alt + F9
- Mac: ⌥ + F9
- evaluate
- 현재 위치에서 코드 실행 (하단의 이미지 참고)
- Windows: alt + F8
- Mac: ⌥ + F8
💻 디버깅 창 살펴보기
반응형