위키득계정 ↗
기술

Dmalloc

Dmalloc기술
이름
Debug Malloc Library
분류
디버깅 메모리 할당기
기능 예
누수 추적과 경계 쓰기 탐지
정보 예
파일 위치와 통계 로그
Dmalloc은 디버깅 기능을 제공하는 메모리 할당 라이브러리다. 일반적인 할당 및 해제 함수 대신 연결해 누수와 경계 손상 등의 문제를 조사하는 데 사용한다.

할당 경계에서 관찰

프로그램의 할당과 재할당, 해제 등을 처리하면서 관련 기록과 검사를 수행한다. 누수가 생긴 위치와 메모리 경계를 침범한 흔적을 찾는 데 활용할 수 있다. 제공되는 검사는 설정과 실제 할당 경로에 따라 달라진다.

실행 설정과 기록

런타임에 구성 가능한 디버깅 기능과 통계 로그를 제공한다. 파일과 행 번호 등 유용한 위치 정보를 얻으려면 관련 빌드 및 사용 조건을 맞춰야 한다. 스레드 프로그램을 디버깅하는 지원도 실제 환경의 구성과 함께 확인한다.

교체의 의미

할당기를 바꾸면 메모리 배치와 성능, 오류의 재현 양상이 달라질 수 있다. 한 번의 실행에서 문제가 사라졌다고 원래 코드가 올바르다고 결론 내리지 않는다. 진단 기록을 이용해 원인을 수정하고 원래 실행 환경에서도 결과를 다시 검증한다.

관련 문서

LeakSanitizer / AddressSanitizer / Valgrind / Scudo