디버그 모드 왜 쓰는가?

api를 실행했을 때 예상과 다르게 동작한다면 status code를 확인해 어디서 문제가 발생했는지 파악해야 한다. 단순한 코드를 짤 때는(알고리즘 문제풀이 등) 주요 로직 위아래에 출력문을 찍어 결과를 확인했지만, 실제 프로그램을 개발할 때는 한 api가 동작하기까지 controller, service 등 여러 파일을 거치므로 어디부터 문제가 생긴 것인지 하나씩 출력하며 확인하기 어렵다. System.out.println을 사용하고 지울 때 꼭 필요한 코드를 지우게 될 수도 있다.

 

디버그 모드 어떻게 쓰는가?

1. 변수가 제대로 넘어왔는지, 원하는 동작이 이뤄졌는지 확인하고자 하는 행 번호를 더블클릭한다.

2. 디버그 모드로 어플리케이션을 실행한다.

3. API를 호출하면 그냥 실행했을때와 달리 브레이크 포인트를 찍어둔 부분을 한 줄씩 거치며 실행 과정을 확인할 수 있다.

4. 변수 상태값을 확인하거나 비정상 종료된 위치를 확인할 수 있다.

5. 코드를 수정하면 자동으로 부트가 재실행되고 새 인자를 넣어 테스트할 수 있다.

 

디버깅할 때 내가 명심해야 할 점

내 프로그램에는 다양한 오류가 있을 수 있다. 2주 정도 디버깅 늪에 빠져있으면서 느낀 점은 다음과 같다.

 

1. 문제가 실제로 문제가 맞는지 확인하고 난 후에 수정하자. 의심만으로 코드를 수정했다가 옳은 부분을 잘못되게 수정하고 되돌아온 적이 있다. 이런 고민은 실력을 늘게 해 주지도 않을뿐더러 시간만 낭비하게 한다!

2. 다양한 요인이 프로그램을 오동작하게 할 수 있다. 한번에 모두를 바꾸고 동작을 확인하지 말고 하나씩 확인하자.

 

 

+ Recent posts