C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76059] Re:작업관리자의 메모리 사용량 증가 원인 확인 방법이 있나요?
빌더(TWx) [builder] 1492 읽음    2021-02-21 10:26
뽀뽀중 님이 쓰신 글 :
: 안녕 하세요.
:
: 많은 양의 계산결과를 vector 와 구조체를 조합하여 메모리에 저장하는 방법을 사용하고 있습니다.
: new  같은 동적할당은 전혀 하지 않았습니다.
:
: 재계산을 할 경우에는 기존 vector 에 저장된 값을 초기화 하고 다시 입력을 합니다.
: 이렇게 하면, 메모리 사용량이 증가를 할수가 없는데, 윈도우작업관리자로 보면 메모리사용량이 증가 하고 있습니다.
:
: 이 부분을 보완해야 할것 같은데, 어느 vector 에서 사용량이 증가하는 지  확인 하는 방법이 있나요?
:
:
: 저장할 구조체
:
: struct TNE_RainDistCal { // 1차반복
:     AnsiString AsRainDistName; // 강우분포 이름
:     AnsiString AsRainDistSimbol; // 강우분포 기호
:
:     struct FreqRainDist FreqRainDistData;
:     vector<FreqRainDist>veFreqRainDist;
:
:     TNE_RainDistCal() {
:         Clear();
:     }
:
:     void Clear() {
:         AsRainDistName = "";
:         AsRainDistSimbol = "";
:
:         FreqRainDistData.Clear();
:         veFreqRainDist.clear();
:
:         ZeroMemory(this, sizeof(*this));
:     }
: };
:
: extern TNE_RainDistCal TNE_RainDistCalData;
: extern vector<TNE_RainDistCal>veRainDistCalResult;
:
: 이런식으로 구조체를 정하고,
: 초기화는 TNE_RainDistCalData.Clear();
: veRainDistCalResult.clear();
:
: 이런식으로 하였습니다.
:



답변:


vector도 잘못 사용하고 있고...
전체 소스코드 구조를 보지 않고선 메모리 누수의 원인을 판단할 수 없어요.

wdmdrv@outlook.kr 로 프로젝트 전체소스 압축해서 보내보세요.

버그를 진단하는 데에 어느 정도의 비용이 발생할 수도...



+ -

관련 글 리스트
76050 작업관리자의 메모리 사용량 증가 원인 확인 방법이 있나요? 뽀뽀중 1240 2021/02/16
76059     Re:작업관리자의 메모리 사용량 증가 원인 확인 방법이 있나요? 빌더(TWx) 1492 2021/02/21
76062         Re:Re:작업관리자의 메모리 사용량 증가 원인 확인 방법이 있나요? 뽀뽀중 1330 2021/02/23
76064             Re:Re:Re: C++ 언어를 잘못 사용하고 있음 빌더(TWx) 1627 2021/02/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.