|
도큐먼트를 찾아보니.. 별로 쓸만한 것이 없네요..
그래서.. 제가 알고 있는 간단한 사용법만 알려드립니다..
일단, 어셈까지 할 줄 아신다면.. 금상첨화 겠지만.. 어셈을 모르셔도.. 위치 파악은 쉽게 가능합니다.
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인지 에서 브레이크가 걸리는데 먼 소린지 하나도 모르겠고.. 어셈 언어를 아는것도 아니고..
:
: 로그 파일이 생기는데, 그 내용을 봐도 뭔 소린지 도통 모르겠네요.
:
: 코드가드 사용법이랑 최소한 로그파일 보는 방법 만이라도 강좌를 부탁드립니다.
:
: 강좌란에 올려주시면 보고 열심히 배워서 꼭 메모리 릭을 해결 하도록 하겠습니다. ^^;
:
: 그럼, 좋은 소식을 기다리며...
|