FreeBSD Manual Pages
KTRACE(1) BSD General Commands Manual KTRACE(1) NAME ktrace -- enable kernel process tracing SYNOPSIS ktrace [-aCcdi] [-f trfile] [-g pgrp | -p pid] [-t cnistuw] ktrace [-adi] [-f trfile] [-t cnistuw] command DESCRIPTION The ktrace utility enables kernel trace logging for the specified pro- cesses. Kernel trace data is logged to the file ktrace.out. The kernel operations that are traced include system calls, namei translations, sig- nal processing, and I/O. Once tracing is enabled on a process, trace data will be logged until ei- ther the process exits or the trace point is cleared. A traced process can generate enormous amounts of log data quickly; It is strongly sug- gested that users memorize how to disable tracing before attempting to trace a process. The following command is sufficient to disable tracing on all user-owned processes, and, if executed by root, all processes: $ ktrace -C The trace file is not human readable; use kdump(1) to decode it. The utility may be used only with a kernel that has been built with the "KTRACE" option in the kernel configuration file. The options are: -a Append to the trace file instead of recreating it. -C Disable tracing on all user-owned processes, and, if executed by root, all processes in the system. -c Clear the trace points associated with the specified file or pro- cesses. -d Descendants; perform the operation for all current children of the designated processes. -f trfile Log trace records to trfile instead of ktrace.out. -g pgid Enable (disable) tracing on all processes in the process group (only one -g flag is permitted). -i Inherit; pass the trace flags to all future children of the des- ignated processes. -p pid Enable (disable) tracing on the indicated process id (only one -p flag is permitted). -t cnistuw The string argument represents the kernel trace points, one per letter. The following table equates the letters with the trace- points: c trace system calls n trace namei translations i trace I/O s trace signal processing t trace various structures u userland traces w context switches + trace the default set of trace points - c, n, i, s, t, u command Execute command with the specified trace flags. The -p, -g, and command options are mutually exclusive. EXAMPLES # trace all kernel operations of process id 34 $ ktrace -p 34 # trace all kernel operations of processes in process group 15 and # pass the trace flags to all current and future children $ ktrace -idg 15 # disable all tracing of process 65 $ ktrace -cp 65 # disable tracing signals on process 70 and all current children $ ktrace -t s -cdp 70 # enable tracing of I/O on process 67 $ ktrace -ti -p 67 # run the command "w", tracing only system calls $ ktrace -tc w # disable all tracing to the file "tracedata" $ ktrace -c -f tracedata # disable tracing of all user-owned processes $ ktrace -C SEE ALSO kdump(1) HISTORY The ktrace command appeared in 4.4BSD. BUGS Only works if trfile is a regular file. BSD February 23, 2008 BSD
NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO | HISTORY | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ktrace&sektion=1&manpath=FreeBSD+7.1-RELEASE>