<div><br />1. 부모 폼(A)에서 <br /><br />2. 자식폼(B)을 약 50개 정도 생성해요, 이때 소켓(vb 6.0에서 쓰던 Winsock를 사용)이 같이 생성되요<br /><br /><br />3. 자식폼(B)들은 소켓을 이용하여 ip가 부여된 특정 기기와 1대 1로 접속을 하고요<br /><br />4. 기기는 자식폼(B)에게 데이터(영어 단문자, A,B,C,D,E,.... X,Y,Z..)를 전달하고<br /><br />5. 자식폼(B) 또한 기기에 영어 단문자 데이터를 전달하는 일을 합니다.<br /><br /><br />6. 자식폼(B)은 기기에서 받은 데이터를 처리하는 과정에서 다이렉트 사운드로 소리를 출력합니다.<br /><br /><br />7. 일정한 시간(5~7분)이 흐르면 모든 작업이 종료 되고 다이렉트X의 세컨드 버퍼는 모두 dispose() 시키고<br /><br />8. 생성된 데이터들을 부모폼에서 DB로 저장합니다<br /><br />9. 그리고나서 자식폼.Close 를 해줍니다.<br /><br />10. DB 저장이 끝난후 다시 1번의 과정으로 돌아갑니다.<br /><br /><br /><br /><br />한 열번정도 위의 행위를 하고 나면 <br /><br />System.OutOfMemoryException: 'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다.<br /><br />라는 메세지가 나오고 프로그램이 응답없음이 나옵니다.<br /><br /><br />이때 윈도우에서 사용하는 리소스모니터의 <br /><br />메모리부분을 보면 그래프상(파란색 선)으로 반절이 넘지 않는 반면<br /><br />리소스모니터의 메모리 부분에 해당 프로그램이 차지하는 값을 보면<br /><br />실행초기값 : 커밋 200,000 / 작업집합 200,000 / 공유가능 50,000 / 개인...??<br />약 10번실행후 값은 초 기값의 3~4배 정도로 증가합니다<br /><br /><br />Cpu 또한 부하가 심하게 걸린다... 라고 할수 없는 수치 입니다.<br /><br /><br /><br />그런데도... 이 프로그램이 메모리 오류가 납니다.<br /><br />조심히 추측해보건데<br /><br />1. 다이렉트 사운드를 dispose 시켰어도.... 메모리에서 완벽히 지워지지 않은건가? 라는 추측만 합니다.<br /><br /><br /><br />개발자님들의 의견 좀 구합니다.....굽신 굽신...</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.