TIL4 - (오류) 디버그의 중요성을 알다

김지인·2022년 7월 7일
0
post-thumbnail

오류해결시간 : 1시간

jsp로 토이프로젝트를 하고있을 때 였다.

로그인 구현을 완성하고 테스트를 하는데 로그인 인증알림 숫자를 성공은 1, 실패는 -1로, 오류는 -2로 정의했는데 계속 -1이 떠서 정상적으로 구동이 안되고있음을 알아챘다.

그래서 처음부터 다시 보기시작했다.

여기서 데이터User_IdUser_PwdNoticeBoardController로 보내주고

그 데이터를 받아 GetTokenOfLoginCheck()에 꽂는 구성이었다.

문제의 로직이었다. 이곳에서 계속 -1로 출력을 하고 있어서 데이터가 제대로 담기지 않음을 알고있었다. 처음에는 sql구문을 잘못 적었나 하고 봤는데 정상이었다.
도저히 어느 부분에서 오류 난지를 몰라서 하나하나 프린트문을 찍어보면서 삽질을 시작했다.

그러던 중 데이터를 제대로 불러오는가 싶어서 sql에서 USERPWD를 직접 프린터해봣다.


해당 오류가 나왓는데, 이는 데이터자체가 검색이 안된다는 소리다. 그래서 상위클래스에서 데이터가 제대로 전송이 안된다는 것을 어렴풋이 알아채고 다시 처음로직부터 천천히 봣다.(이때까지 디버깅 모드를 몰랐다)


근데 아무리봐도 어디서 오류인지 도저히 감이 안잡혔다.
그래서 구글링을 한 결과 디버깅 모드를 처음으로 알게 되었고 바로 의심이 가는 부분을 디버깅 시도했다.


하나하나 데이터가 넘어가는지 보는데 웬걸 userid가 안넘어가는 것이 보이는 것이다. 그렇다 애초부터 데이터가 안넘어가니 제대로 작동을 안하는 것이었다.


그래서 처음으로 돌아가 자세히 보니 jsp에서 변수명과 컨트롤러에서 변수명이 다른 것을 볼 수 있었다.


오타를 수정하고 나서 비로소 로그인 성공숫자를 받을 수 있었다.

느낀점

디버깅모드를 진작에 알았으면 오류를 더 빨리 잡을 수 있었을 것이다. 그리고 내가 원하는 대로 데이터가 잘 전송되는지 흐름을 보는 것도 굉장히 신선한 느낌이고 재미가 많이 느껴졌다. 이제 디버깅모드를 알았으니 앞으로는 오류를 더 빨리 찾지 않을까 싶다.
무엇보다 허무했다.

profile
에러가 세상에서 제일 좋아

0개의 댓글