자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
환경: C++ Builder XE5
Component: AsyncPro Serial Component V4.07

AsyncPro Component를 통해 주기적으로 COM Port를 통해 데이터를 주고 받는 프로그램이 있습니다.
약 일주일 정도 운용되면 더이상 AsyncPro의 수신 이벤트가 발생하지 않습니다.
10여년간 이 Component를 써오면서 이런 증상은 처음이네요.
..
처음에는 갈피를 못잡아서 Com Port에서 데이터가 수신될 때마다 로그에 쓰도록 해 놓고
디버그를 해 보니 약 1주일 실행된 후, Com Port에 데이터 요구 패킷를 보낸 후
아무런 응답이 없습니다.
..
프로그램 문제라고 확정하는 것이, 프로그램을 종료 후 다시 실행시키면
정상적으로 AsyncPro Component를 통해 정상적으로 데이터를 받아 옵니다.
..
문제는 이 프로그램이 Memory Leak 증상이 있는 것인데요..
다른 분이 개발한 프로그램인데 운용하다보면 Memory Leak이 발생해
Process Size가 지속적으로 증가합니다. 소스 코드를 보면





TNormalQData *nqData = (TNormalQData*)GlobalAlloc(GPTR, sizeof(TNormalQData));
....
GlobalFree(nqData);

이런 형태로 Heap 영역을 계속 할당 / 해제를 반복합니다.
해제 코드가 들어가 있지만 어딘가에서 구멍이 나 있는 게 아닌가 합니다.

저의 생각은,
Heap 영역을 계속 소모하다가 VCL이 차지하고 있는 영역까지 소모하면서
AsyncPro component의 코드영역까지 침범해서 이런 증상이 나타나는 것이 아닌가 합니다.
그런데, 이런 것이 가능한 가설인 지?

질문 1: Component가 동작하다가 자신의 동작을 하지 않을 때(Event가 발생하지 않을 때) 어떤 것을 의심해 보아야 할 지?
         (현 상황에서는 AsyncPro Component가 특정 시점이 되면 아무런 동작을 하지 않는 것 같습니다.)

질문 2: Heap 영역을 GlobalAlloc()등으로 계속 소모할 경우 VCL Component가 가지고 있는 메모리 영역까지 침범할 수 있는 지?

이 버그.. 난감합니다.

고수님들의 조언을 바랍니다.

감사합니다.
번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17182
공지 유용한 관련 사이트 관리자2 2014.03.20 56049
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99490
879 [연말 이벤트] 개발자 Q&A 게시판을 가장 잘 활용해주신 분 상품 증정 관리자 2018.11.12 263
878 개발툴 버전업(Delphi 7 -> Tokyo) : ocx 및 컴포넌트 설치 관련 [2] 김기 2018.11.12 279
877 안드로이드애서 글자 주변에 테두리(라인?) 이 생깁니다. [3] file nervsystem 2018.11.13 553
876 CameraComponent 문의 [5] icj 2018.11.13 337
875 모바일 터치 이벤트 관련 문의 박수영 2018.11.13 113
874 Incompatible type 에러 [2] gent 2018.11.14 1033
873 Incompatible type 에러 (재질문) [1] gent 2018.11.15 406
872 Delphi TWebBrowser 에서 360 파노라마 VR 속도가 늦어요. [3] file midas 2018.11.19 262
871 Intent 함수를 이용한 사진 불러오기 및 (파일)경로 취득 빌게이츠 2018.11.20 265
870 MediaPlayey를 이용한 실시간 카메라 영상 스트리밍 관련 문의 [3] icj 2018.11.20 308
869 FCM 백그라운드 서비스 문의 [1] icj 2018.11.21 223
868 XE2 사용하다 10.2를 써보니 Table 콤포넌트가 없네요? [1] 날라리아 2018.11.23 136
867 신규버전 설치할 때 이전 버전에서 설치된 콤퍼넌트 그대로 사용하는 방법 [2] 델피노 2018.11.23 290
866 10.3에서 핸드폰과 연결이 안되요? [7] file 화이부동 2018.11.23 1130
865 [10.3 리오 출시 세미나] 이전버전에서 ui에서 컨트롤 다중선택시 포인트 에러나는거 잡혔나요? 험프리 2018.11.26 125
864 [10.3 리오 출시 세미나] 10.2.X 에서 CMake 사용할 수 있게 되었다는데, 사용법에 대한 Tip 없나요? 험프리 2018.11.26 177
863 [10.3 리오 출시 세미나] 매니지드 레코드 기능만 보류된 거 아닌가요? 험프리 2018.11.26 78
862 [10.3 리오 출시 세미나] 10.2 도쿄 라이센스(서브스크립션)로 사용중인데, 10.3 라이센스를 별도로 취득하는 행위를 해야하나요? 험프리 2018.11.26 129
861 xe10.2 사용자 입니다. interface not supported 오류에 대해서?? [1] 쿠핑 2018.11.27 591
860 datasnap devdev 2018.11.27 193