위키득계정 ↗
기술

Mtrace

Mtrace기술
소속
GNU C Library
분류
메모리 할당 이벤트 추적
관련 함수
mtrace와 muntrace
설정 변수
MALLOC_TRACE
Mtrace는 GNU C 라이브러리에서 할당과 재할당, 해제 이벤트를 파일로 기록하는 추적 기능이다. 메모리의 생성과 반환 흐름을 조사하는 데 활용한다.

실제 추적 조건

기본적으로 꺼져 있으며 디버깅 라이브러리와 추적 초기화 등 필요한 조건을 맞춰야 한다. 환경 변수는 쓸 수 있는 기록 파일을 지정한다. 유효한 파일을 열 수 없으면 추적이 시작되지 않을 수 있으므로 호출만으로 성공을 판단하지 않는다.

파일과 실행 비용

추적이 활성화되면 관련 함수 호출이 기록 파일에 남는다. 이미 존재하는 파일은 잘릴 수 있어 결과 경로를 관리해야 한다. 모든 기록에는 실행 비용이 있으므로 원래 응용의 정상 실행 성능과 추적 중 성능을 구분한다.

종료와 해석

Muntrace로 기록 처리를 종료할 수 있다. 기록한 할당 이벤트는 메모리 접근 전체를 검사한 자료와는 다르다. 누수나 반환 흐름을 조사할 때 수집 시작과 종료 시점, 누락된 경로 및 실행 조건을 함께 살핀다.

관련 문서

Mcheck / LeakSanitizer / Dmalloc / Heaptrack