디버깅과 탐정놀이
네트워크 게임 클라이언트를 디버깅하다가 보면 CSI 과학수사대형은 도저히 될 수 없는 상황이 많이 발생한다. 디버거로 인해서 프로그램이 일시 정지하거나 느려지는 것만으로 타이밍이 틀려져서 상황이 틀려지는 경우가 흔히 발생하기 때문이다.
그러다 보면 하드보일드형처럼 OutputDebugString을 잔뜩 박아넣고는 다른 PC에서 DebugView를 원격연결해서 - DebugView를 로컬에서 띄우면 역시 느려져서 문제를 추적할 수가 없는 경우가 있다. - 추적할 수 밖에 없다.
때로는 모든 클라이언트에서 이 짓을 한 다음에 주고받은 메시지들을 비교해서 추적해야한다. 일종의 대질심문인 셈이다.
그러고 보면 예전에는 명탐정 코난이었던 적도 있다. 정확히는 디버깅이 아니고 코딩이었지만. 작성한 기억이 없는 부분이 만들어져있는 경우가 종종 있었고, 놀랍게도 이런 부분에서는 절대로 버그가 없었다. 여기서 알 수 있는 사실은 '요정은 나보다 프로그래밍 실력이 좋다'는 점이다.
네트워크 게임 클라이언트를 디버깅하다가 보면 CSI 과학수사대형은 도저히 될 수 없는 상황이 많이 발생한다. 디버거로 인해서 프로그램이 일시 정지하거나 느려지는 것만으로 타이밍이 틀려져서 상황이 틀려지는 경우가 흔히 발생하기 때문이다.
그러다 보면 하드보일드형처럼 OutputDebugString을 잔뜩 박아넣고는 다른 PC에서 DebugView를 원격연결해서 - DebugView를 로컬에서 띄우면 역시 느려져서 문제를 추적할 수가 없는 경우가 있다. - 추적할 수 밖에 없다.
때로는 모든 클라이언트에서 이 짓을 한 다음에 주고받은 메시지들을 비교해서 추적해야한다. 일종의 대질심문인 셈이다.
그러고 보면 예전에는 명탐정 코난이었던 적도 있다. 정확히는 디버깅이 아니고 코딩이었지만. 작성한 기억이 없는 부분이 만들어져있는 경우가 종종 있었고, 놀랍게도 이런 부분에서는 절대로 버그가 없었다. 여기서 알 수 있는 사실은 '요정은 나보다 프로그래밍 실력이 좋다'는 점이다.
'게임 만들기 > 프로그래밍' 카테고리의 다른 글
_MSC_VER (0) | 2004.11.04 |
---|---|
GeForce 신형의 SLI 기능. (0) | 2004.08.24 |
프로그래머의 우울. (0) | 2004.07.18 |