간단한 Debugging 사용법

2024. 7. 28. 10:08TIL

✔오늘 배운 중요한 🔑 point

  • 특정 지점에 실행을 중지하고 싶을 때는 Break Point
  • 코드의 흐름을 보고싶을때는  Step Over(F8)
  • 중단된 시점에서 표현식이나 변수의 세부적인 값을 알고싶을 때는 Evaluate Expression(Alt+F8)

🎯 오늘 배운 내용

 

프로젝트를 진행하면서 수도없이 많은 오류를 직면하게 되는데 chatGpt나 구글링을 통해서 오류를 해결하는 경우도 매우 많지만 Gpt나 구글링 만으로는 도저히 해결이 되지 않는 상황 또한 많이 발생하게 된다.

그럴때에는 직접 해당 오류를 스스로 찾고 해결해야하는 경우가 생기는데 그럴때에 매우 유용하게 사용할 수 있는 것이 디버거(Debugger) 모드이다.

 

인텔리제이(Intellij)에서 디버거 모드 사용하는 법

 

윈도우 기준 Shift+ F9를 누르거나  재생버튼 옆에 있는 버튼을 누르면 디버거 모드가 실행이 된다.

 

BREAK POINT

각 줄마다 breakPoint라는것을 지정할수 있는데 사진에서는 38번째 줄에 breakPoint를 걸어둔 상태이다.

이렇게 하면 코드가 실행되다가 38번째 줄에서 멈추게 된다.

 

이런식으로 38번째 줄에서 멈추기 때문에 만약 내가 작성한 코드가 내 예상대로 흘러가지 않는다면 어느 부분이 내 예상과 다르게 흘러갔는지를 확인할 수 있다.

 

STEP OVER (F8)

디버그 모드를 실행한 후 BREAK POINT를 지정하여 코드가 해당 줄에서 멈춘 상태라면 F8버튼을 누르거나 사진에 보이는 Step Over키를 이용하여  다음에 실행되는 명령어를 한줄 한줄 실행시킬수 있다.

 

이 기능을 사용하면 정확히 어느 지점에서 오류가 발생하는지를 파악하기가 쉬워진다.

또한 라이브러리나, 내부함수를 사용하는경우에는 해당 코드를 눈으로 직접 보기가 힘들어 정확히 어떤 방식으로 내 코드가 돌아가는지 알기 힘든데 Step Over를 사용하면 정확히 어떻게 코드의 흐름이 구성되어있는지를 확인할 수 있다.

이게 뭣이여

F8키를 차근차근 누르다보면 내가 작성한 코드는 몇줄 안되는 코드인데도 불구하고 수십개의 로직을 거쳐서 결과가 출력된다는것을 볼수 있다.

 

Evaluate Expression (Alt + F8)

디버거 모드를 통해서 코드의 흐름을 파악할 수 있다면 현재 시점에서 정확히 어떤 값들이 저장되어있는지를 확인하기 위해서는 Evaluate기능을 사용하면 된다.

 

 

 

Expression에 내가 알고싶은 값을 입력한다면 현 시점 기준으로 해당 코드가 어떤 값을 가지고있는지를 보여준다.

 

🤔 어떻게 활용할까?

breakPoint 와 Evaluate 기능을 이용해서 내가 원하는 값들이 내 예상대로 잘 들어왔는지를 확인할 수 있게되었고 Step Over기능을 활용해서 내가 작성한 코드의 전체적인 흐름을 확인할 수 있다.

📓 오늘의 한줄

"Out of difficulties grow miracles."

- Jean de La Bruyère -