한줄평
“윈도우에서 C/C++ 메모리 버그를 잡아야 하는 개발자에게 사실상 표준에 가까운 선택입니다. 다만 계측 방식이라 실행 속도가 크게 느려지고 관리 코드(.NET 등)에는 맞지 않습니다.”
이런 분께 윈도우에서 C/C++ 네이티브 프로그램의 메모리 버그를 추적하는 개발자께
좋은 점
- 초기화 안 된 접근·누수 등 잡기 어려운 버그를 콜스택과 함께 짚어 줍니다
- 윈도우에서 Valgrind에 준하는 진단을 무료로 제공합니다
아쉬운 점
- 계측 실행이라 원래보다 수 배 느려집니다
- 네이티브 코드용이라 .NET 등 관리 언어에는 부적합합니다
닥터 메모리 소개
프로그램이 실행되는 동안 메모리 사용을 감시해 초기화되지 않은 값 접근, 이미 해제된 영역 접근, 이중 해제, 메모리·핸들 누수 같은 버그를 찾아 주는 명령줄 도구입니다. 리눅스의 Valgrind에 해당하는 윈도우 중심 도구로, C/C++로 짠 네이티브 프로그램을 디버깅할 때 씁니다. 빌드한 실행 파일을 drmemory로 감싸 실행하면 문제가 생긴 지점의 콜스택과 함께 진단을 출력합니다. GUI가 아니라 개발자가 터미널에서 돌리는 분석 도구입니다.