프로그래밍 언어 | C |
---|---|
운영 체제 | BSD, 맥 OS X |
언어 | 영어 |
종류 | 트레이싱 |
ktrace는 디버그와 분석을 목적으로 커널과 프로그램 간 통신을 추적하고 추적한 결과를 디스크에 덤프하는 유틸리티의 하나로, 특정 버전의 BSD와 맥 OS X에 포함되어 있다. 추적 대상이 되는 커널 기능으로는 시스템 호출, namei 변환, 신호 처리, 입출력 등이 있다.[1]
ktrace는 훨씬 더 빠르다는 점을 제외하고는 리눅스의 strace와 다소 비슷하다. strace의 경우 추적 대상이 되는 프로그램이 실행하는 모든 시스템 호출이 문맥 교환을 수반하지만 ktrace로 추적할 경우 커널이 실제로 수행하므로 추가적인 문맥 교환이 필요하지 않다.
ktrace가 생성하는 트레이스(기본값은 ktrace.out
)는 kdump 유틸리티를 사용하여 인간이 읽을 수 있는 형태로 볼 수 있다.[2]
맥 OS X 10.5 이후로 ktrace는 DTrace로 대체된 상태이다.