Q&A

  • 델파이 시스템 명령의 의미 문의
안녕하세요.
델파이에서 지원해주는 명령의 뜻을 알고 싶습니다.

현재 제가 개발하는 엔진에서 심각한 오류가 발생해서요.

우선 SysGetMem 이라는 게 어떤 의미인지 궁금합니다.
명칭을 보니까 무슨 메모리를 할당할려는 것같은데, 제가 생각하는 경우를 나열해 보았습니다.
- 일반적인 대입문에서 시스템이 사용됨.(예 - a := b;)
- 선언된 멤버 변수에 값을 입력할 때 시스템이 사용됨.(예 - m_strData := 'test data';)
- 동적 메모리를 생성할려고 할 때 시스템이 사용됨.

위의 경우에 해당되는 게 아니라면 어떤 경우에 SysGetMem 이라는 명령이 사용될 까요.
참고로 저의 소스에서는 일반적인 대입문, 선언된 멤버 변수에 특정 값을 저장할때 외에
다른 부분은 사용하지 않고 있습니다.

그리고 InsertFree 이라는 것도 어떤 의미인지 궁금합니다.
특히 InsertFree 라는 부분은 덤프파일을 열어 보니까 특정 메모리를 Read 할려고 할때
발생하는 것으로 추측이 됩니다. 참고로 위에 있는 SysGetMem은 Write 할때 발생하구요.

그럼 제가 구현된 소스상에서는 새로운 개체를 선언하는 곳은 없습니다.
초기 시작할때 사용할려는 개체는 생성을 하죠.
그리고 이후에는 선언된 개체에 값을 저장하고, 읽고 있습니다.
물론 선언된 개체중에 잘못된 부분을 참조하는 것은  없구요.(많은 테스트를 했음)

혹시 이러한 에러들이 Delphi 5 에서 발생하는 버그는 아닐까요?
특히 메모리 관련하여 처리하는 곳에서요..

제가 개발한 프로그램은 120개의 스래드가 사용되는 서버급 프로그램입니다.
보통 1주일 정도 운영하다가 위의 에러로 인하여 다운되버리네요.

그럼 많은 답변 기다리겠습니다.
오늘도 즐거운 하루가 되시기를.....


0  COMMENTS