ktrace
ktrace is a utility included with certain versions of BSD Unix and Mac OS X that traces kernel interaction with a program and dumps it to disk for the purposes of debugging and analysis. Traced kernel operations include system calls, namei translations, signal processing, and I/O.[1]
Written in | C |
---|---|
Operating system | BSD Unix and Mac OS X |
Available in | English |
Type | Tracing |
ktrace is somewhat similar to Linux's strace, except for being much faster – with strace, every system call executed by the traced program requires context switch to the tracing program and back, while the tracing with ktrace is actually performed by the kernel, so no additional context switches are required.
Trace files generated by ktrace (named ktrace.out by default) can be viewed in human-readable form by using the kdump utility.[2]
Since Mac OS X 10.5 Leopard, ktrace has been replaced by DTrace.
See also
- DTrace, Sun Microsystems's trace version, now running on OpenSolaris, FreeBSD, macOS, and Windows
- kdump (Linux), Linux kernel's crash dump mechanism, which internally uses kexec
- SystemTap
- trace on Linux, part of the Linux Trace Toolkit
References