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
[18077] Re: 웁스! 벌써! 감사합니다. 강좌란에 올리시지...
Falco [falco] 1879 읽음    2002-04-30 21:43
강좌란에 올리시면 여러사람이 쉽게 볼 수 있어서 좋을 것 같습니다.

강좌 고맙습니다.

근데, 저는 로그가 이렇게 나오네요.

Error 00458. 0x300010 (Thread 0x0628):
Resource leak: The memory block (0x12785A4) was never freed

The memory block (0x012785A4) [size: 200 bytes] was allocated with SysGetMem
Call Tree:
   0x01FA85A4
   0x01FA85FD
   0x01FAA67C
   0x01FA9F79
   0x01FAA5CB
   0x01FAD4A6

View Source, Edit Source 전부 CPU 창으로 연결되고.. 쩝...

프로그램 종료하면 이런게 무려 3군데나 나옵니다.  헐..

책들이 코드가드에 대해서 나온건 없는거 같네요.  패패루님 책(^^; 빌더 D.G) 에도 찾아 봤는데 없고.. 쩝.

저도 혼자 부닥쳐 봐야 겠네요.  다시 한번 감사를 드리면셔~~

유영인 [Chris] 님이 쓰신 글 :
: 도큐먼트를 찾아보니.. 별로 쓸만한 것이 없네요..
: 그래서.. 제가 알고 있는 간단한 사용법만 알려드립니다..
:
: 일단, 어셈까지 할 줄 아신다면.. 금상첨화 겠지만.. 어셈을 모르셔도.. 위치 파악은 쉽게 가능합니다.
:
:
: 1. [Tools] - [Codeguard Configuration] 선택
: 그 다음, Enable 을 선택하시고, 로그파일, 그리고 어떤 상황에 브레이크가 걸리는지 [Report] 탭에서 결정합니다. 저는 일반적으로 Statistics 에서는 사용하지 않습니다.. 너무 많이 걸려서요..
: 대부분이 Resource Leaks 이, 이 부분은 꼭 체크를 해두셔야 겠죠
:
: 2. [Project] - [Option] 에서 Codeguard 탭을 선택하신 후, 옵션을 Enabled 시킵니다.
:
: 3. 아래는 테스트 소스입니다. 새 어플리케이션을 하신 후, FormActivate 에 다음과 같은 코드를..
:
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::FormActivate(TObject *Sender)
: {
:
:  char       *strs;
:
:
:  strs = (char *)malloc(100);
:  strcpy(strs, "TEST");
:
: }
: //---------------------------------------------------------------------------
:
: malloc 로 잡은 리소스 해제를 안해주었기 때문에, 프로그램을 종료시에 에러가 납니다.
:
: 4. 에러가 나면, CPU 창과 CodeGuard Log 창이 뜹니다. 만약 어셈을 신경쓰시기 싫으시다면, CPU 창은 끄셔두 됩니다.
:
: 5. CodeGuard Log 창에서 함수명이 지정되어 있거나 특정 부분이 지정되어있으면 클릭합니다.
: 위 소스에서는 다음과 같이 표현될껍니다.
:
:  + The memory block 0x0000000 [size : 100 byte] was allocated with malloc
:    TForm1::FormActive(Const System::TObject *)
:
: 이런 부분이 나오는데, 해당 함수를 더블클릭하시면 그 에러난 부분으로 소스를 옮겨줍니다. 간편하죠.. --
:
:
:
: 이 이상은 저도 잘 모르겠습니다. 저도 혼자 해보면서 알게된 얕은 지식밖에 없어서..
:
: 암튼 행운을.. :)
:
:
: Falco 님이 쓰신 글 :
: : 코드 가드를 사용 해 봤는데요. 요기 밑에 유영인님께서 답변을 올리신 내용을 보고 한번 해 봤거든요.
: :
: : 근데, 코드가드에서 메모리 릭이 있다고 뜨긴하는데, 어느 부분에서 릭이 발생하는지를 알 수가 없네요.
: :
: : CPU인지 FPU인지 에서 브레이크가 걸리는데 먼 소린지 하나도 모르겠고..  어셈 언어를 아는것도 아니고..
: :
: : 로그 파일이 생기는데, 그 내용을 봐도 뭔 소린지 도통 모르겠네요.
: :
: : 코드가드 사용법이랑 최소한 로그파일 보는 방법 만이라도 강좌를 부탁드립니다.
: :
: : 강좌란에 올려주시면 보고 열심히 배워서 꼭 메모리 릭을 해결 하도록 하겠습니다. ^^;
: :
: : 그럼, 좋은 소식을 기다리며...

+ -

관련 글 리스트
18070 [요청] Code guard 사용법 강좌를 부탁드립니다. Falco 1529 2002/04/30
18076     Re:[요청] Code guard 사용법 강좌를 부탁드립니다. 유영인 [Chris] 4187 2002/04/30
18077         Re: 웁스! 벌써! 감사합니다. 강좌란에 올리시지... Falco 1879 2002/04/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.