42 Seoul
[42Seoul/leaks 사용] leak 왜 터지는지 아직도 몰라?
jaewpark
2022. 4. 4. 17:10
네.. 아직까지 몰랐던 건 저였고요...
과제가 터졌습니다.
C과제를 하다보면 왠만해서는 leak 체크를 하라고 나와있습니다.
그 이유에 대해서 잠깐 설명을 하자면 어떠한 작업을 할 때, 동적 할당으로 사용된 메모리가 제대로 해제가 되지 않고 계속 새고 있고 그게 계속 쌓인다면, 쓸데없는 곳에서 자꾸 불필요하게 쓰임이 생겨서 문제가 발생이 됩니다.
malloc 을 사용 하는 과정에서는 주소값에 대해서 제대로 사용이 되어야 함을 인지 하면서 코드를 짜야 됩니다.
사실 다른 블로그에서 이미 다 이유가 있을테니, 과제를 하는 중에 내가 잘못된 게 있는지 확인을 하려면
1. main 문에 해당 하는 곳에서 return 바로 직전에 반복문을 아래와 같이 설정
2. 코드를 실행하되, 터미널을 이용할 수 있게끔 하는 &
3. Process status 에서 PID 를 확인 하는 ps
PID : Process ID로 유닉스, 맥 OS X 또는 마이크로소프트 윈도우 등의 운영 체제 커널이 사용되는 번호
4. leaks PID
5. 반복문을 죽여버리자 kill
이러한 방법으로 leaks 체크를 하면 된다.
그럼 씬나게 과제를 터트리러 가보자!!