C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[15188] 10번 교향곡을 읽으면서....
망치 [mangchy] 3087 읽음    2008-10-09 10:09
가을을 맞이하야(?) 서점에 가서 소설책을 한권 샀습니다.
요즘 드라마도 베토벤 교향곡이 재밌고 해서 10번 교향곡이라는 책을...

아직 짬짬히 읽고 있는중이지만...저는 역시 프로그래머인가봅니다.
이유인즉,

살인사건이 발생합니다.
살인사건 주변부터해서 증거를 수집합니다.
이 사건을 해결하기 위해 베토벤의 역사로 거슬러 올라가 다 훑어봅니다.
현재 주변 인물들도 조사를 합니다.
역사적인 배경에서부터 주변인물들의 수상한 점들을 추적을 합니다.
일단 추적하고 있는거까지 읽고 있는데요...

프로그램 에러가 발생합니다.
전화가 옵니다. 아니 전화들이 옵니다.
요즘 개인적으로 프로그램 만들어준 거들에서 에러가 난다구요.
그러면 전 일단 재현을 하기 위해 노력합니다.
재현이 되면 제일 근접한 이벤트에서부터 추적합니다.
변수들도....다른 클래스, 라이브러리까지...쭈욱...dll까지 가면 헉....검증되었다고 생각한 dll까지...

최근 황당한 거는 command pattern으로 여러가지 클래스들이 만들어져서 잘 굴러가고 있습니다.
아니 있었습니다. 그런데 전화가 왔습니다.
모드를 변경하면 에러가 발생하고 종료가 안된다고...
결국 추적해보니 command pattern클래스에서 모드 변경때마다 새로 생성하는 child class가
쓰고 있는 어드레스 영역에서 생성이 되는겁니다. 후아~~~~
이틀을 추적하고서야 결국 원인이 그거라는것을 알아냈네요...정말 찾기 힘들었네요...
정확하게 왜 그게 동적생성하면서 어드레스를 침범하는지는 알아내지 못했지만
프로그램 시작할때 모든 child class를 모두 생성해서 모드 변경할때 포인터 변경으로 임시 해결은 했네요...

약간 딴길로 이야기 흘렀는데, ㅎㅎ
가을맞이 책 한권 읽으면서 생각난거 걍 써봅니다.

ps. 임프님 이거 질문 아닙니다. ㅎㅎ
망치 [mangchy]   2008-10-09 11:03 X
나중에 책한권 써도 될려나요...미스터리 에러사건 ㅎㅎ
평범한 프로그래머가 에러 현장을 목격하고, 에러를 잡기위해 전전긍긍 스펙터클한 모험(?) ... 결국은 마이크로 소프트 역사적인 배경과 함께 ... 에러를 추적하는

+ -

관련 글 리스트
15188 10번 교향곡을 읽으면서.... 망치 3087 2008/10/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.