19b50d902SRodney W. Grimes.\" Copyright (c) 1990, 1993 29b50d902SRodney W. Grimes.\" The Regents of the University of California. All rights reserved. 39b50d902SRodney W. Grimes.\" 49b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without 59b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions 69b50d902SRodney W. Grimes.\" are met: 79b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright 89b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer. 99b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright 109b50d902SRodney W. Grimes.\" notice, this list of conditions and the following disclaimer in the 119b50d902SRodney W. Grimes.\" documentation and/or other materials provided with the distribution. 129b50d902SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software 139b50d902SRodney W. Grimes.\" must display the following acknowledgement: 149b50d902SRodney W. Grimes.\" This product includes software developed by the University of 159b50d902SRodney W. Grimes.\" California, Berkeley and its contributors. 169b50d902SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors 179b50d902SRodney W. Grimes.\" may be used to endorse or promote products derived from this software 189b50d902SRodney W. Grimes.\" without specific prior written permission. 199b50d902SRodney W. Grimes.\" 209b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 219b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 229b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 239b50d902SRodney W. Grimes.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 249b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 259b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 269b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 279b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 289b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 299b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 309b50d902SRodney W. Grimes.\" SUCH DAMAGE. 319b50d902SRodney W. Grimes.\" 329b50d902SRodney W. Grimes.\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93 33c3aac50fSPeter Wemm.\" $FreeBSD$ 349b50d902SRodney W. Grimes.\" 359b50d902SRodney W. Grimes.Dd June 6, 1993 369b50d902SRodney W. Grimes.Dt KTRACE 1 379b50d902SRodney W. Grimes.Os BSD 4.4 389b50d902SRodney W. Grimes.Sh NAME 399b50d902SRodney W. Grimes.Nm ktrace 409b50d902SRodney W. Grimes.Nd enable kernel process tracing 419b50d902SRodney W. Grimes.Sh SYNOPSIS 428fe908efSRuslan Ermilov.Nm 439b50d902SRodney W. Grimes.Op Fl aCcdi 449b50d902SRodney W. Grimes.Op Fl f Ar trfile 4524b9685cSMike Heffner.Op Fl g Ar pgrp | Fl p Ar pid 469b50d902SRodney W. Grimes.Op Fl t Ar trstr 478fe908efSRuslan Ermilov.Nm 489b50d902SRodney W. Grimes.Op Fl adi 499b50d902SRodney W. Grimes.Op Fl f Ar trfile 509b50d902SRodney W. Grimes.Op Fl t Ar trstr 5133f69855SRuslan Ermilov.Ar command 529b50d902SRodney W. Grimes.Sh DESCRIPTION 5393e0d62dSJohn-Mark GurneyThe 5493e0d62dSJohn-Mark Gurney.Nm 5593e0d62dSJohn-Mark Gurneycommand enables kernel trace logging for the specified processes. 569b50d902SRodney W. GrimesKernel trace data is logged to the file 579b50d902SRodney W. Grimes.Pa ktrace.out . 589b50d902SRodney W. GrimesThe kernel operations that are traced include system calls, namei 599b50d902SRodney W. Grimestranslations, signal processing, and 609b50d902SRodney W. Grimes.Tn I/O . 619b50d902SRodney W. Grimes.Pp 629b50d902SRodney W. GrimesOnce tracing is enabled on a process, trace data will be logged until 639b50d902SRodney W. Grimeseither the process exits or the trace point is cleared. 649b50d902SRodney W. GrimesA traced process can generate enormous amounts of log data quickly; 659b50d902SRodney W. GrimesIt is strongly suggested that users memorize how to disable tracing before 669b50d902SRodney W. Grimesattempting to trace a process. 679b50d902SRodney W. GrimesThe following command is sufficient to disable tracing on all user owned 689b50d902SRodney W. Grimesprocesses, and, if executed by root, all processes: 699b50d902SRodney W. Grimes.Pp 7016964daeSPeter Wemm.Dl \&$ ktrace -C 719b50d902SRodney W. Grimes.Pp 729b50d902SRodney W. GrimesThe trace file is not human readable; use 739b50d902SRodney W. Grimes.Xr kdump 1 749b50d902SRodney W. Grimesto decode it. 759b50d902SRodney W. Grimes.Pp 769b50d902SRodney W. GrimesThe options are as follows: 779b50d902SRodney W. Grimes.Bl -tag -width indent 789b50d902SRodney W. Grimes.It Fl a 799bedbe6cSJoerg WunschAppend to the trace file instead of recreating it. 809b50d902SRodney W. Grimes.It Fl C 819b50d902SRodney W. GrimesDisable tracing on all user owned processes, and, if executed by root, all 829b50d902SRodney W. Grimesprocesses in the system. 839b50d902SRodney W. Grimes.It Fl c 849b50d902SRodney W. GrimesClear the trace points associated with the specified file or processes. 859b50d902SRodney W. Grimes.It Fl d 869b50d902SRodney W. GrimesDescendants; perform the operation for all current children of the 879b50d902SRodney W. Grimesdesignated processes. 889b50d902SRodney W. Grimes.It Fl f Ar file 899b50d902SRodney W. GrimesLog trace records to 909b50d902SRodney W. Grimes.Ar file 919b50d902SRodney W. Grimesinstead of 929b50d902SRodney W. Grimes.Pa ktrace.out . 939b50d902SRodney W. Grimes.It Fl g Ar pgid 949b50d902SRodney W. GrimesEnable (disable) tracing on all processes in the process group (only one 959b50d902SRodney W. Grimes.Fl g 969b50d902SRodney W. Grimesflag is permitted). 979b50d902SRodney W. Grimes.It Fl i 989b50d902SRodney W. GrimesInherit; pass the trace flags to all future children of the designated 999b50d902SRodney W. Grimesprocesses. 1009b50d902SRodney W. Grimes.It Fl p Ar pid 1019b50d902SRodney W. GrimesEnable (disable) tracing on the indicated process id (only one 1029b50d902SRodney W. Grimes.Fl p 1039b50d902SRodney W. Grimesflag is permitted). 1049b50d902SRodney W. Grimes.It Fl t Ar trstr 1059b50d902SRodney W. GrimesThe string argument represents the kernel trace points, one per letter. 1069b50d902SRodney W. GrimesThe following table equates the letters with the tracepoints: 1079b50d902SRodney W. Grimes.Pp 1089b50d902SRodney W. Grimes.Bl -tag -width flag -compact 1099b50d902SRodney W. Grimes.It Cm c 1109b50d902SRodney W. Grimestrace system calls 1119b50d902SRodney W. Grimes.It Cm n 1129b50d902SRodney W. Grimestrace namei translations 1139b50d902SRodney W. Grimes.It Cm i 1149b50d902SRodney W. Grimestrace 1159b50d902SRodney W. Grimes.Tn I/O 1169b50d902SRodney W. Grimes.It Cm s 1179b50d902SRodney W. Grimestrace signal processing 11809ac2438SPoul-Henning Kamp.It Cm u 11909ac2438SPoul-Henning Kampuserland traces 12009ac2438SPoul-Henning Kamp.It Cm w 12109ac2438SPoul-Henning Kampcontext switches 1229b50d902SRodney W. Grimes.El 1239b50d902SRodney W. Grimes.It Ar command 1249b50d902SRodney W. GrimesExecute 1259b50d902SRodney W. Grimes.Ar command 1269b50d902SRodney W. Grimeswith the specified trace flags. 1279b50d902SRodney W. Grimes.El 1289b50d902SRodney W. Grimes.Pp 1299b50d902SRodney W. GrimesThe 1309b50d902SRodney W. Grimes.Fl p , 1319b50d902SRodney W. Grimes.Fl g , 1329b50d902SRodney W. Grimesand 1339b50d902SRodney W. Grimes.Ar command 1349b50d902SRodney W. Grimesoptions are mutually exclusive. 1359b50d902SRodney W. Grimes.Sh EXAMPLES 1369b50d902SRodney W. Grimes# trace all kernel operations of process id 34 1379b50d902SRodney W. Grimes.Dl $ ktrace -p 34 1389b50d902SRodney W. Grimes.Pp 1399b50d902SRodney W. Grimes# trace all kernel operations of processes in process group 15 and 1409b50d902SRodney W. Grimes# pass the trace flags to all current and future children 1419b50d902SRodney W. Grimes.Dl $ ktrace -idg 15 1429b50d902SRodney W. Grimes.Pp 1439b50d902SRodney W. Grimes# disable all tracing of process 65 1449b50d902SRodney W. Grimes.Dl $ ktrace -cp 65 1459b50d902SRodney W. Grimes.Pp 1469b50d902SRodney W. Grimes# disable tracing signals on process 70 and all current children 1479b50d902SRodney W. Grimes.Dl $ ktrace -t s -cdp 70 1489b50d902SRodney W. Grimes.Pp 1499b50d902SRodney W. Grimes# enable tracing of 1509b50d902SRodney W. Grimes.Tn I/O 1519b50d902SRodney W. Grimeson process 67 1529b50d902SRodney W. Grimes.Dl $ ktrace -ti -p 67 1539b50d902SRodney W. Grimes.Pp 1549b50d902SRodney W. Grimes# run the command "w", tracing only system calls 1559b50d902SRodney W. Grimes.Dl $ ktrace -tc w 1569b50d902SRodney W. Grimes.Pp 1579b50d902SRodney W. Grimes# disable all tracing to the file "tracedata" 1589b50d902SRodney W. Grimes.Dl $ ktrace -c -f tracedata 1599b50d902SRodney W. Grimes.Pp 1609b50d902SRodney W. Grimes# disable tracing of all processes owned by the user 1619b50d902SRodney W. Grimes.Dl $ ktrace -C 1629b50d902SRodney W. Grimes.Sh SEE ALSO 1639b50d902SRodney W. Grimes.Xr kdump 1 16410871c98SJames Raynard.Sh BUGS 16510871c98SJames RaynardOnly works if 16610871c98SJames Raynard.Ar file 16710871c98SJames Raynardis a regular file. 1689b50d902SRodney W. Grimes.Sh HISTORY 1699b50d902SRodney W. GrimesThe 17093e0d62dSJohn-Mark Gurney.Nm 17193e0d62dSJohn-Mark Gurneycommand appeared in 1729b50d902SRodney W. Grimes.Bx 4.4 . 173