더북(TheBook)

13.1 디버깅이란

코딩을 하다 보면 아무리 간단한 코드라 하더라도 한번에 결과가 나오지 않을 수 있습니다. 사람이 작성하는 것이므로 여러 가지 실수가 있기 마련입니다. 예를 들어 컴퓨터 언어 문법에 어긋나서 결과가 나오지 않기도 하고, 단순 오타로 인해 결과가 나오지 않기도 합니다. 또한, 메모리 접근과 메모리 사용 과정에서 문제가 발생하는 경우도 흔합니다. 다시 말해서, 프로그램 오류가 발생하여 코드를 고치고 수정해야 하는 경우가 많다는 뜻입니다. 그리고 이처럼 프로그램의 오류를 수정하는 것을 디버깅이라고 합니다.

디버깅은 프로그래머라면 숙명처럼 혹은 친구처럼 생각해야 하는 과정입니다. 버그(프로그램 오류)를 고치는 과정은 어렵고 복잡할 수 있지만(실제로 개발자 중에 디버깅 과정을 어려워하는 사람이 의외로 많습니다), 마침내 정상적으로 수행하는 최종 결과를 확인했을 때 그 성취감은 디버깅 과정이 어려울수록 커집니다.

icon_wait

디버깅의 유래

버그(bug)란 말 그대로 벌레를 뜻하며, 디버깅은 ‘벌레를 잡는다’는 의미로 생각하면 됩니다. 이는 1947년, 초기 컴퓨터 개발자 중 한 명인 그레이스 호퍼(Grace Hopper)가 갑자기 컴퓨터가 고장이 나 그 원인을 찾던 중 회로 사이에 낀 나방 한 마리를 발견하고, 이것이 컴퓨터 고장의 원인임을 알게 되어 그 나방을 제거하는 일에서 유래하였습니다.

참고로 그레이스 호퍼는 프로그래밍 언어 코볼(Cobol)의 개발을 주도하여, ‘코볼의 어머니’라고도 불립니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.