관리 메뉴

버리야 날자

디버깅 본문

나만의 작업

디버깅

버리 버리야 2012.07.12 20:46

우연히 10년전에 배웠던 프로그래밍 책을 보다가 발견한 "디버깅"챕터에서의 내용이다.



디버깅


프로그램 제작에서 가장 어려운 부분은 설계나 코딩이 아니라 바로 디버깅 단계다. 이 단계에서, 프로그램이 실제 작동하는지(작동된다고 생각하는 것이 아니라)를 알아낸다.


......


대화형 프로그램의 경우는 버그를 다시 보인다는 것 자체가 문제 해결의 90%를 차지할 수 있다. 이 말은 특히 그 분야에 있는 사용자가 보고한 버그를 처리할 때 그렇다.

다음은 버그를 발견했다고 전화한 사용자의 전형적인 대화 내용이다.


사용자: 당신들이 만든 데이터베이스 프로그램이 이상합니다.


프로그래머: 무슨 문제가 있습니까?


사용자: 가끔 정렬을 하면 이상한 순서로 정렬됩니다.


프로그래머: 사용한 명령어는 무엇입니까?


사용자: sort입니다.


프로그래머(참을성을 가지고): 실패했을 때 사용했던 명령어의 키 조합을 정확하게 말씀해 주세요.


사용자: 정확하게는 기억나지 않습니다. 제가 워낙 정렬을 많이 하다보니까.


프로그래머: 제가 그쪽으로 가면 그 버그를 보여주실 수 있습니까?


사용자: 그럼요.


잠깐의 전화대화가 끝난 후, 프로그래머는 사용자 사무실에 가서 다음 같이 말한다. "자 이제, 버그를 보여주세요." 

사용자는 이리저리 명령어를 입력해보지만 이상하게도 잘 작동한다.


프로그래머는 포기하고 다시 자신의 사무실로 돌아오지만, 사용자로부터 다음 같은 메시지를 받는다.

"당신이 나간 후 5분만에 또 작동이 안됩니다." 



가슴이 먹먹해진다... 웃어야할지 울어야할지...

이게 프로그래머들의 일상~




2 Comments
댓글쓰기 폼