|
안녕하세요
저두 얼마전 만든 프로그램이 비슷한 증상을 일으켜서 고생을 한적이 있습니다.
도움을 좀 드릴까 하구요 ^^
디버그 하는 방법은요
제가 고민 끝에 시도해 본건데요
각 프로그램 구간별로(특히 의심스러운 몇몇 부분 있으실 거예요^^;) 추적용 로그를 남기는 겁니다
최소한 어디까지 진행되고 어느 시점에서 죽었는지 찾으실 수 있을 거예요.
그리고 덧붙여 말씀드리자면, 전 이런 방법으로 해결을 못했는데요
로그를 조사해 보니 특정 패턴 없이 아무 곳에서나 아무 이유없이 그냥 퍽퍽 죽더라구요
결국 이유를 찾은건요
Thread 동기화 문제였습니다
C Builder의 경우 Thread를 통해서 Form을 업데이트 하게되면
꼭 Synchronize 메쏘드를 사용해야 하더라구요
첨에 몰라서 무시했더만....... ㅡㅡ;
확실한건....
Thread를 통해서 동시에(?) Form 업데이트가 발생하면
아무런 경고 없이 프로그램이 깨끗이 종료 된다는 겁니다
또 Form 업데이트 관련 동시 시간이란건 시스템 마다 다른데요
비디오 드라이버 성능에 따라서 다르고 DirectX도 영향을 미칩니다
전반적 시스템 부하에 따라서도 다르고요( 당연한건가? ㅡㅡ; )
아뭏튼 도움 되셨으면 좋겠네요
이만~
무식한 넘... 님이 쓰신 글 :
:
: 프로그램이 실행중에 갑자기 사라지는 경우가 있더라구요
:
: 어떻게 디버깅해야될지..
:
: 경험이 있으신 분들은 가르쳐 주세요
:
|