catsridingCATSRIDING|OCEANWAVES
Developer Tools

IntelliJ IDEA Debugger 활용하기

jynn@catsriding.com
Nov 30, 2023
Published byJynn
999
IntelliJ IDEA Debugger 활용하기

Upskill IntelliJ IDEA Debugger

IntelliJ IDEA의 Debugger를 활용하면 오류가 발생한 지점과 그 원인을 빠르게 파악할 수 있습니다. 또 함수의 처리 결과 또는 반복문과 Stream API의 처리 과정을 단계별로 편리하게 확인할 수 있습니다.

이번 포스팅에서는 Jetbrains 공식 블로그를 참고하며 인텔리제이 디버거를 사용하는 방법에 대해 살펴봅니다.

Breakpoint

Debugger의 Stepping을 시작하려면 브레이크 포인트(Breakpoints)를 잡아야 합니다. 에디터 거터(Gutter) 영역의 라인 넘버를 클릭하거나 Command Palette를 통해 설정해도 되지만, 단축키로 실행하는 것이 가장 편리합니다.

  • Toggle Line Break: ⌘ cmd + F8

upskill-intellij-idea-debugger-0.png

브레이크 포인트를 설정했다면 Debugger를 실행합니다 🐞. Debugger 실행 중에도 브레이크 포인트는 계속해서 추가할 수 있습니다.

upskill-intellij-idea-debugger-1.png

프로세스 처리 중 브레이크 포인트를 만나게 되면 해당 지점에서 프로세스가 일시 정지되어 다음 명령이 입력될 때까지 대기합니다.

upskill-intellij-idea-debugger-2.png

참고로, 디버그 도구 창이 포커스 되는 시점은 마우스 우클릭을 통해 변경할 수 있습니다.

upskill-intellij-idea-debugger-3.png

Stepping

애플리케이션을 디버깅 모드로 실행하면 프로세스가 처리되는 과정에서 브레이크 포인트를 만나게 되었을 때 해당 위치에서 프로세스가 일시 정지됩니다. 여기서 디버그 도구를 이용하여 다음 작업을 선택할 수 있습니다.

Step Over

Step Over ⤼ 기능은 바로 다음 코드 라인으로 이동하는 가장 간단한 Stepping입니다. Step Over ⤼를 활용해 코드 라인을 한 줄씩 넘어가면, 디버그 도구 창에서는 바로바로 변수에 저장된 값을 확인할 수 있습니다.

  • Step Over: F8

upskill-intellij-idea-debugger-4.png

Step Into

디버깅을 하다 보면 메서드의 처리 결과만 보는 것이 아니라 해당 메서드 구현 로직으로 들어가서 처리 과정을 확인해야 하는 경우도 많습니다. 이 경우에는 Step Into ⤓ 기능을 사용합니다.

  • Step Into: F7

upskill-intellij-idea-debugger-5.png

한 라인에 여러 메서드가 있다면, 자동으로 Smart Step Into 모드가 활성화됩니다. 하이라이트 된 메서드 중 원하는 곳에 커서를 가져가서 클릭하면 해당 메서드로 Step Into ⤓ 됩니다.

upskill-intellij-idea-debugger-6.png

Step Out

메서드 구현부로 들어가서 필요한 검증이 모두 완료되었다면, Step Out ⤒ 기능을 통해 이전 로직으로 되돌아갈 수 있습니다.

  • Step Out: ⬆ Shift + F8

upskill-intellij-idea-debugger-7.png

Run to Cursor

한 라인씩 넘어가는 것이 아니라 커서 위치로 바로 이동하고 싶은 경우에는 Run to Cursor 기능을 활용합니다. 이동하고 싶은 곳으로 커서를 옮겨놓고 단축키를 입력합니다.

  • Run to Cursor: ⌥ opt + F9

upskill-intellij-idea-debugger-8.png

Reset Frame

코드 라인을 이동하다 보면 이전으로 되돌아가서 다시 확인해야 하는 경우가 있습니다. 이와 같은 경우에는 디버그 도구 창의 실행 내역에서 Reset Frame ↻ 기능을 활용합니다.

upskill-intellij-idea-debugger-9.png

전역적인 상태를 변경한 경우에는 이전 위치로 돌아가더라도 이 값이 되돌아가지는 않습니다.

Resume Program

애플리케이션을 재개하는 경우 Resume Program ▶️ 기능을 활용합니다. 일시정지되었던 라인에서 프로세스가 다시 시작되어서, 다음 브레이크 포인트로 바로 갈 때 유용한 기능입니다.

  • Resume Program: ⌥ opt + ⌘ cmd + R

upskill-intellij-idea-debugger-10.png


  • Toolbox
  • IntelliJ IDEA