PH pullh
입문 블로그 / 디버깅은 재능이 아니라 순서다
도구와 디버깅 6분 Beginner

디버깅은 재능이 아니라 순서다

문제를 잘 고치는 사람은 특별한 감각이 있어서가 아니라, 좁혀 가는 순서를 갖고 있는 경우가 많다.

디버깅 순서 커버 이미지

초보자는 디버깅을 잘하는 사람을 보면 왠지 직감이 뛰어난 것처럼 느낀다. 하지만 실제로는 많은 경우, 순서를 잘 지키기 때문에 빨리 해결하는 것이다.

무작정 코드를 여기저기 바꾸는 대신, 문제를 재현하고 범위를 좁히고 가설을 하나씩 검증하는 흐름이 필요하다.

디버깅의 기본 순서

먼저 문제를 다시 재현한다. 그다음 어디까지는 정상인지 경계를 찾는다. 그리고 가능한 원인을 하나씩 세우고, 가장 작은 수정으로 확인한다.

이 순서를 지키면 감정적으로 급해지는 시간을 줄일 수 있다. 특히 초보자에게는 모든 것이 이상해 보이는 상태를 피하는 데 큰 도움이 된다.

막히면 이 순서로 진행하기

  • 문제가 다시 재현되는지 확인한다.
  • 정상 동작하는 지점과 깨지는 지점을 나눈다.
  • 원인 가설을 한 번에 하나만 세운다.
  • 수정도 한 번에 하나만 한다.
  • 해결 뒤에는 원인을 한 문장으로 기록한다.

좋은 디버깅은 많이 아는 기술이 아니라, 문제를 좁혀 가는 기술에 더 가깝다.

도구와 디버깅

이 글의 포인트

  • 디버깅은 재현, 경계 찾기, 가설 검증의 순서로 간다.
  • 수정은 한 번에 하나씩 해야 원인을 잃지 않는다.
  • 해결 후 한 줄 기록을 남기면 다음 디버깅이 빨라진다.

Next Read

테스트는 거창하게 시작하지 않아도 된다

초보자가 테스트를 배우다 포기하는 이유는 너무 큰 단위로 시작하기 때문이다. 가장 작은 검증부터 시작하는 방법을 정리했다.