디버그 모드 왜 쓰는가?
api를 실행했을 때 예상과 다르게 동작한다면 status code를 확인해 어디서 문제가 발생했는지 파악해야 한다. 단순한 코드를 짤 때는(알고리즘 문제풀이 등) 주요 로직 위아래에 출력문을 찍어 결과를 확인했지만, 실제 프로그램을 개발할 때는 한 api가 동작하기까지 controller, service 등 여러 파일을 거치므로 어디부터 문제가 생긴 것인지 하나씩 출력하며 확인하기 어렵다. System.out.println을 사용하고 지울 때 꼭 필요한 코드를 지우게 될 수도 있다.
디버그 모드 어떻게 쓰는가?
1. 변수가 제대로 넘어왔는지, 원하는 동작이 이뤄졌는지 확인하고자 하는 행 번호를 더블클릭한다.
2. 디버그 모드로 어플리케이션을 실행한다.
3. API를 호출하면 그냥 실행했을때와 달리 브레이크 포인트를 찍어둔 부분을 한 줄씩 거치며 실행 과정을 확인할 수 있다.
4. 변수 상태값을 확인하거나 비정상 종료된 위치를 확인할 수 있다.
5. 코드를 수정하면 자동으로 부트가 재실행되고 새 인자를 넣어 테스트할 수 있다.
디버깅할 때 내가 명심해야 할 점
내 프로그램에는 다양한 오류가 있을 수 있다. 2주 정도 디버깅 늪에 빠져있으면서 느낀 점은 다음과 같다.
1. 문제가 실제로 문제가 맞는지 확인하고 난 후에 수정하자. 의심만으로 코드를 수정했다가 옳은 부분을 잘못되게 수정하고 되돌아온 적이 있다. 이런 고민은 실력을 늘게 해 주지도 않을뿐더러 시간만 낭비하게 한다!
2. 다양한 요인이 프로그램을 오동작하게 할 수 있다. 한번에 모두를 바꾸고 동작을 확인하지 말고 하나씩 확인하자.
'Web Application > Backend' 카테고리의 다른 글
[TIL] 외래키와 Join의 관계, 외래키 도입에 따른 데드락 (1) | 2021.10.17 |
---|---|
[TIL] Java 데이터 타입과 int, Integer (0) | 2021.10.17 |
[TIL] Lombok 주의점 (0) | 2021.09.25 |
[TIL] gradle, gradle wrapper (0) | 2021.09.25 |
[백엔드 시작하기] 8. 클라우드 서버에 데이터베이스 만들기 (0) | 2021.05.12 |