- 디버깅을 제대로 활용할 줄 안다면, 코딩 테스트 통과를 할 수 있다. —> (어느정도 실력이 쌓인 후)
하지만, 많은 사람들이 문법을 배우는 과정에서 디버깅을 가볍게 생각하고 넘어갑니다.
그저, 해당 알고리즘을 어떻게 구현 및 접근하는지가 더욱 큰 관심사이기 때문이라고 필자는 감히 생각합니다.
왜냐하면, 필자도 그렇게 해왔다. 백준 골드 3정도를 찍을 때까지 디버깅을 몰랐다.
아니, 사실상 디버깅까지 안해봐도 사실상 할 수 있었다.
그러나, 더 많은 문제들을 접하는 순간, 시간초과, 모든 입력예시는 맞는데 틀렸다고 하여, 어떤 것이 잘못 된 부분인지 모르게 되었다.
이러한 상황을 개선하기 위해, 어떤 것을 배우면 좋을까 라고 생각을 했을때, 결론만 말하면 ‘ 디버깅 ’이다.
한마디로, 디버깅은 코딩 테스트에 필요한 기술이고, 그냥 알아두기만 하면 되는 것이 아닌, 문제를 풀어가면서 반드시 거쳐야 하는 과정입니다.
Run 한다고, 돌아간다고 다가 아닌, 이젠 디버깅을 통해 왜 이렇게 돌아가고, 각 부분 별로 해석을 하여 시간복잡도를 낮추고 높은 효율을 내야 할 때가 된것이다.
어떤 사람은 “로그로 찍어보면 되는 것 아니냐” 라고 할 때, 일부분만 생각하였을 땐, 맞는 말이지만 전체적인 틀로 본다면 “아니다.” 라고 할 수 있다 —> 중간 부분을 찾기 어렵다.
즉, 지역적으로 먼저 시작하게 되면 숲을 보는 것이 아니라 나무만 보게 되는 것이다.
따라서, 로그로 찍어보는 것은 운이 좋다면, 빠르고 쉽게 찾을 수 있겠지만, 그게 아니라면 시간이 너무 오래 걸리기 때문에 비추천 하는 것이다.
디버깅 하는 법
디버깅하고자 하는 줄에 중단점 을 설정하고, IDE 의 디버깅 기능을 실행해 진행하는 것이다.
<aside>
💡 <진행 과정>
- 코드에서 디버깅 하고자 하는 줄에 중단점을 설정, 이때 중단점은 여러 개 설정할 수 있다.
- IDE 의 디버깅 기능을 실행하면 코드를 1 줄 씩 실행하거나 다음 중단점까지 실행할 수 있으며, 이 과정에서 추적할 변수값도 지정 가능하며, 이 방법으로 변수값이 자신이 의도한 대로 바뀌는지 파악함.
- 변수값 이외에도 원하는 수식을 입력해 논리 오류를 파악할 수도 있다.
</aside>