본문 바로가기

개발관련 지식들

디버거(Debugging) 사용기록

참고: https://www.youtube.com/watch?v=OHrLRg150As

난생처음 인텔리제이로 디버거를 사용해 보았다. 영상 마지막 부분에는 라이브러리나 프래임워크 내부 구조를 분석할때 디버거가 유용하게 쓰인다고 알려주는데 정말 그런것 같다. 디버거 사용동기는 Collections.nCopies() 함수의 기능이 궁금해서 였다. 우선은 영상에서 소개하는 디버거의 유용한 기능을 기록해 놓으려한다.

1. 가장 먼저 break point 설정방법이다. 그냥 빨간색 나오도록 그 경계 부분을 눌러서 break point를 설정해 준다. break point를 설정한다는 것은 디버깅의 시작과 끝을 설정한다는 것이다.

break point 설정후 Debug눌러서 디버깅을 시작한다.

이제 디버깅이 시작되면 몇가지 쓸수 있는 기능을 알아보겠다.

첫번째로는 Step over이다. 역할은 아래와 같다.

다음으로는 Step into

다음으로는 Resume program이다. 디버깅 도중에 Break point를 계속 또다시 설정해 줄수 있다. Resume program은 다음 Break point까지 디버깅을 실행해 준다.

 

마지막으로 디버깅의 꽃이라고 하는 Evaluate Expression 기능이다.

이버튼을 눌러 내가 궁금한것은 뭐든 확인해 볼수 있다. 아래와 같이 확인하고 싶은 문장을 입력해 볼수도 있고, 현 상황에서 변수의 상태또한 알수 있다.

 

이와같이 메서드도 실행할수 있어서 기존에 println을 통해 값을 확인했던 방법을 사용하지 않고도 내가 원하는 결과를 볼수 있다.