디버그

내위키
Dennis (토론 | 기여)님의 2022년 2월 1일 (화) 23:42 판 (새 문서: Debug. 컴퓨터 프로그램에 숨어 있는 각종 오류, 즉 버그를 찾아서 바로잡는 것. 디버그를 위해 사용하는 소프트웨어를 디버거(debugger)라고 한다. 컴퓨터 프로그래밍은 사람이 하는 일이라 버그가 하나도 없는 소프트웨어는 제로에 가깝다. 버그가 없는 아름다운 프로그램으로 유명한 TeX도 2022년 초 기준으로 버전 3.141592653인데, 버전 3이 나온 이후로 버그...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

Debug.

컴퓨터 프로그램에 숨어 있는 각종 오류, 즉 버그를 찾아서 바로잡는 것. 디버그를 위해 사용하는 소프트웨어를 디버거(debugger)라고 한다. 컴퓨터 프로그래밍은 사람이 하는 일이라 버그가 하나도 없는 소프트웨어는 제로에 가깝다. 버그가 없는 아름다운 프로그램으로 유명한 TeX도 2022년 초 기준으로 버전 3.141592653인데, 버전 3이 나온 이후로 버그가 발견되어 고치면 소숫점 뒤의 숫자들이 하나씩 추가된다.[1] 즉, 이 프로그램조차도 버그가 없다기보다는 '거의 없다'에 가깝다.

하나의 완성된 소프트웨어를 만들기 위해 개발자들은 코딩에 쓰는 시간보다 디버그에 쓰는 시간이 더 많다. 누구는 코딩 시간 대비 디버깅 시간이 3대 7이라고도 하고 누구는 2대 8이라고도 한다. 그만큼 디버그가 개발자의 시간과 노력을 많이 잡아먹기 때문에 프로그래밍 언어와 개발환경은 어떻게 하면 잠재된 버그의 가능성을 줄이고, 개발자가 더 빠르게 버그를 찾아낼 수 있을지, 버그가 있더라도 어떻게 하면 그에 따른 오류의 규모와 피해를 최소화할지에 많은 신경을 쓰고 있다.

디버그를 위한 개발자의 노력은 마치 요리조리 도망다니는 범인을 쫓아다니는 형사와도 비슷하다. 문법 오류 같은 거야 요즈음은 개발 환경에서 바로바로 잡아주기 때문에 별로 문제가 안 되지만 진짜 시간과 노력을 잡아먹는 건 실행은 멀쩡히 되는데 원하는 결과가 나오지 않을 때다.

각주

  1. 딱 보면 알겠지만, 원주율 숫자다.