xref: /original-bsd/usr.bin/ktrace/ktrace.1 (revision a152d818)
1.\" Copyright (c) 1990 The Regents of the University of California.
2.\" All rights reserved.
3.\"
4.\" %sccs.include.redist.man%
5.\"
6.\"     @(#)ktrace.1	5.3 (Berkeley) 03/07/91
7.\"
8.Dd
9.Dt KTRACE 1
10.Sh NAME
11.Nm ktrace
12.Nd enable kernel process tracing
13.Sh SYNOPSIS
14.Nm ktrace
15.Op Fl aCcdi
16.Op Fl f Ar trfile
17.Op Fl g Ar pgrp
18.Op Fl p Ar pid
19.Op Fl t Ar trstr
20.Nm ktrace
21.Op Fl adi
22.Op Fl f Ar trfile
23.Op Fl t Ar trstr
24command
25.Sh DESCRIPTION
26.Nm Ktrace
27enables kernel trace logging for the specified processes.
28Kernel trace data is logged to the file ``ktrace.out''.
29The kernel operations that are traced include system calls, namei
30translations, signal processing, and I/O.
31.Pp
32Once tracing is enabled on a process, trace data will be logged until
33either the process exits or the trace point is cleared.
34A traced process can generate enormous amounts of log data quickly;
35It is strongly suggested that users memorize how to disable tracing before
36attempting to trace a process.
37The following command is sufficient to disable tracing on all user owned
38processes, and, if executed by root, all processes:
39.Pp
40.Dl \&$ trace -C
41.Pp
42The trace file is not human readable; use
43.Xr kdump 1
44to decode it.
45.Pp
46The options are as follows:
47.Tw Ds
48.Tp Fl a
49Append to the trace file instead of truncating it.
50.Tp Fl C
51Disable tracing on all user owned processes, and, if executed by root, all
52processes in the system.
53.Tp Fl c
54Clear the trace points associated with the specified file or processes.
55.Tp Fl d
56Descendants; perform the operation for all current children of the
57designated processes.
58.Tc Fl f
59.Ws
60.Ar file
61.Cx
62Log trace records to
63.Ar file
64instead of ``ktrace.out''.
65.Tc Fl g
66.Ws
67.Ar pgid
68.Cx
69Enable (disable) tracing on all processes in the process group (only one
70.Fl g
71flag is permitted).
72.Tp Fl i
73Inherit; pass the trace flags to all future children of the designated
74processes.
75.Tc Fl p
76.Ws
77.Ar pid
78.Cx
79Enable (disable) tracing on the indicated process id (only one
80.Fl p
81flag is permitted).
82.Tc Fl t
83.Ws
84.Ar trstr
85.Cx
86The string argument represents the kernel trace points, one per letter.
87The following table equates the letters with the tracepoints:
88.Dw Dp
89.Dp Cm c
90trace system calls
91.Dp Cm n
92trace namei translations
93.Dp Cm i
94trace I/O
95.Dp Cm s
96trace signal processing
97.Dp
98.Tp Ar command
99Execute
100.Ar command
101with the specified trace flags.
102.Tp
103.Pp
104The
105.Fl p ,
106.Fl g ,
107and command options are mutually exclusive.
108.Sh EXAMPLES
109# trace all kernel operations of process id 34
110.Dl $ ktrace -p 34
111.sp
112.nf
113# trace all kernel operations of processes in process group 15 and
114# pass the trace flags to all current and future children
115.fi
116.Dl $ ktrace -idg 15
117.sp
118# disable all tracing of process 65
119.Dl $ ktrace -cp 65
120.sp
121# disable tracing signals on process 70 and all current children
122.Dl $ ktrace -t s -cdp 70
123.sp
124# enable tracing of i/o on process 67
125.Dl $ ktrace -ti -p 67
126.sp
127# run the command "w", tracing only system calls
128.Dl $ ktrace -tc w
129.sp
130# disable all tracing to the file "tracedata"
131.Dl $ ktrace -c -f tracedata
132.sp
133# disable tracing of all processes owned by the user
134.Dl $ ktrace -C
135.Sh SEE ALSO
136.Xr kdump 1
137.Sh HISTORY
1384.4 BSD.
139