오늘 반나절 가까이 회의를 하면서 이래저래 본격적인 개발에 관한 이야기들이 오갔다.
그중에서도 오늘의 수확은 Valgrind라는 툴을 발견한 것이다.
같이 일하시는 과장님이 말씀하신건데 저녁먹고 바로 설치해보고 체킹까지 해봤다.
와~~~ 근데 이거 진짜 물건이다.
이 툴은 런타임에 실시간으로 메모리 체크를 해주는 유틸이다.
가장 중요한 기능을 바로 malloc으로 잡아준 메모리를 정확하게 free해주기 위함이다.
Valgrind가 지원하는 플렛폼은 아래와 같다.
x86/Linux: support is mature and almost complete.
AMD64/Linux: support is new but fairly complete.
PPC32/Linux: support is new, incomplete, but improving.
윈도우 운영체제에 관한건 너무 방대하고 다른점들이 많아서 아예 다른 프로젝트로 떼어 놓아야 할 정도라고 한다. 그리고 오픈소스운영체제가 아닌것들은 이런 툴을 만들기가 굉장히 힘들다고 하니 윈도용으로는 기대를 안하는게 나을거 같다. ^^;
현재 만들고 있는 테스트 모듈에 한번 돌려봤다.
사실 모듈 테스트라서 Init함수와 실제 기능하는 함수만 사용해보고 나머지 Destroy함수들은 사용을 안해서 굉장한 메모리 릭이 발생하고 있었다.
실제 내일 Destroy 계열의 함수를 사용해서 정확히 free가 되는지 확인만 해보면 될거 같다.
아래는 돌려본 결과물…
메모리 체킹 툴 Valgrind by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.