위키득계정 ↗
기술

Dr Memory

Dr Memory기술
분류
메모리 오류 검사 도구
기반
DynamoRIO
입력 대상
수정하지 않은 응용 바이너리
검사 예
미초기화 접근 해제 후 접근 누수
Dr Memory는 실행 중인 프로그램에서 메모리 관련 오류를 찾는 도구다. DynamoRIO 기반 계측으로 잘못된 접근과 해제, 누수 등을 관찰한다.

실행에서 드러나는 오류

할당하지 않은 영역에 접근하거나 이미 해제한 메모리를 사용하는 행동을 검사한다. 두 번 해제하거나 초기화되지 않은 값을 읽는 경우도 관심 대상이다. 도구가 실행한 경로에서 발생한 행동을 분석하므로 테스트 입력의 범위가 중요하다.

누수와 플랫폼별 검사

메모리 누수 외에도 Windows의 핸들 누수나 일부 API 사용 오류 등을 검사하는 기능이 있다. 이러한 항목은 운영체제마다 같지 않다. 보고서를 읽을 때는 어떤 자원이 어떤 검사 규칙에 의해 문제로 분류되었는지 확인한다.

보고 결과의 활용

원본 바이너리를 계측해 실행하므로 별도 소스 수정 없이 검사하는 경로를 제공한다. 다만 심벌과 디버깅 정보가 있으면 원인 위치를 이해하기 쉽다. 검사 중 오류가 없었다는 사실을 실행하지 않은 모든 경로의 안전성으로 확대하지 않는다.

관련 문서

DynamoRIO / Valgrind / MemorySanitizer / Heaptrack