몇일전에 질문을 드렸는데 아직 해결을 못해 다시 질문을 드립니다.
O/S Win2000 Pro
DB : MS-Sql7.0
델파이 5.0
저에 프로그램은 일단 쓰레드로 돌고 있구요
데이타베이스는 인터넷망을 통해 사용하고 있습니다.
Indy소켓을 통해 데이타도 주고 받습니다.
근데 문제는 프로그램 처음 돌릴때는 이상없이 돌아갑니다.
부하를 많이줘도 이상없이 돌아갑니다.
근데 시간이 지나면 CPU가 100%까지 올라갑니다.
처음에는 올라갔다 내려갔다 하다가..
조금 지나면 100%까지 올라가 잘 내려오지 않습니다.
소스상에서 오류로인해 무한루프에 빠지지는 않습니다.
어떤것을 불러와 사용하다가 반환을 안해서 그런것인지
그러면 메모리가 올라가야 할것 같은데
메모리는 정상적으로 돌고 있습니다.
소스를 보여드려야 하겠지만 어떤 부분을 보여드려야 할지 몰라
소스를 올리지 못했습니다.
TQuery를 사용하고 있는데 혹시......
분명 prepare, open하면 반드시 close, unprepare를 하거든요
혹시 이런경험 있으신분 계신지요
부탁드립니다.
예전에 첨 인디 썼을 때 이런 경험이 있어서...
인디의 OnExecute에서 예외가 발생할 때 제대로 처리를 안해주면 그런거 같더군요. 특히 클라이언트가 강제 종료되었을때 종료된 클라이언트와 통신하려고 시도할 때 자주 그러던데 예외 처리를 잘 해보세요.
OnExecute자체가 쓰레드이기 때문에 조금만 신경안써주시면 이런 경우는 흔합니다... 물론 이런 이유말고도 수없이 많이 있습니다...
^^ 항상 즐코하세요...