위키득계정 ↗
기술

Mcheck

Mcheck기술
소속
GNU C Library
분류
힙 일관성 검사
관련 함수
mcheck와 mprobe
헤더
mcheck.h
Mcheck는 GNU C 라이브러리의 동적 메모리 일관성 검사 기능이다. 할당 영역의 일부 손상을 검사하고 발견한 상태를 콜백이나 기본 오류 처리로 보고한다.

검사 활성화의 조건

메모리 할당이 시작되기 전에 검사를 활성화해야 한다. 이미 할당이 이루어진 뒤 호출하면 늦어서 활성화되지 않을 수 있다. 현재 문서에서 요구하는 디버깅 라이브러리 연결 조건도 함께 확인해야 실제로 검사가 수행되는지 알 수 있다.

손상 보고와 명시 검사

일부 블록 경계 손상 같은 일관성 문제를 검사하며 오류 처리 함수를 지정할 수 있다. Mprobe는 이미 검사가 활성화된 상태에서 특정 할당 블록을 추가로 확인하는 기능이다. 초기화되지 않은 값의 모든 사용을 추적하는 도구와는 다르다.

안전성과 적용 범위

GNU 확장이므로 다른 C 라이브러리에서 같은 동작을 기대해서는 안 된다. 스레드와 비동기 맥락에 대한 안전성 제약도 확인한다. 간헐적인 일관성 검사 결과가 정상이라고 해서 모든 잘못된 메모리 접근이 배제되는 것은 아니다.

관련 문서

Dmalloc / Memcheck / AddressSanitizer / Mtrace