1*86d7f5d3SJohn Marino.\" 2*86d7f5d3SJohn Marino.\" Copyright (c) 2003,2004 The DragonFly Project. All rights reserved. 3*86d7f5d3SJohn Marino.\" 4*86d7f5d3SJohn Marino.\" This code is derived from software contributed to The DragonFly Project 5*86d7f5d3SJohn Marino.\" by Matthew Dillon <dillon@backplane.com> 6*86d7f5d3SJohn Marino.\" 7*86d7f5d3SJohn Marino.\" Redistribution and use in source and binary forms, with or without 8*86d7f5d3SJohn Marino.\" modification, are permitted provided that the following conditions 9*86d7f5d3SJohn Marino.\" are met: 10*86d7f5d3SJohn Marino.\" 11*86d7f5d3SJohn Marino.\" 1. Redistributions of source code must retain the above copyright 12*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer. 13*86d7f5d3SJohn Marino.\" 2. Redistributions in binary form must reproduce the above copyright 14*86d7f5d3SJohn Marino.\" notice, this list of conditions and the following disclaimer in 15*86d7f5d3SJohn Marino.\" the documentation and/or other materials provided with the 16*86d7f5d3SJohn Marino.\" distribution. 17*86d7f5d3SJohn Marino.\" 3. Neither the name of The DragonFly Project nor the names of its 18*86d7f5d3SJohn Marino.\" contributors may be used to endorse or promote products derived 19*86d7f5d3SJohn Marino.\" from this software without specific, prior written permission. 20*86d7f5d3SJohn Marino.\" 21*86d7f5d3SJohn Marino.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22*86d7f5d3SJohn Marino.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23*86d7f5d3SJohn Marino.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24*86d7f5d3SJohn Marino.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25*86d7f5d3SJohn Marino.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26*86d7f5d3SJohn Marino.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 27*86d7f5d3SJohn Marino.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28*86d7f5d3SJohn Marino.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 29*86d7f5d3SJohn Marino.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 30*86d7f5d3SJohn Marino.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 31*86d7f5d3SJohn Marino.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*86d7f5d3SJohn Marino.\" SUCH DAMAGE. 33*86d7f5d3SJohn Marino.\" 34*86d7f5d3SJohn Marino.\" $DragonFly: src/usr.bin/pctrack/pctrack.8,v 1.4 2006/07/22 18:49:25 swildner Exp $ 35*86d7f5d3SJohn Marino.\" 36*86d7f5d3SJohn Marino.Dd June 8, 2006 37*86d7f5d3SJohn Marino.Dt PCTRACK 8 38*86d7f5d3SJohn Marino.Os 39*86d7f5d3SJohn Marino.Sh NAME 40*86d7f5d3SJohn Marino.Nm pctrack 41*86d7f5d3SJohn Marino.Nd print kernel system/interrupt PC sampling history 42*86d7f5d3SJohn Marino.Sh SYNOPSIS 43*86d7f5d3SJohn Marino.Nm 44*86d7f5d3SJohn Marino.Op Fl fnsi 45*86d7f5d3SJohn Marino.Op Fl c Ar cpu 46*86d7f5d3SJohn Marino.Op Fl N Ar execfile 47*86d7f5d3SJohn Marino.Op Fl M Ar corefile 48*86d7f5d3SJohn Marino.Op Ar interval 49*86d7f5d3SJohn Marino.Sh DESCRIPTION 50*86d7f5d3SJohn MarinoKernels compiled with 51*86d7f5d3SJohn Marino.Dv DEBUG_PCTRACK 52*86d7f5d3SJohn Marinorecord the program counter (PC) of 53*86d7f5d3SJohn Marinothe code interrupted by the statistics clock interrupt. 54*86d7f5d3SJohn MarinoThis information can be dumped with the 55*86d7f5d3SJohn Marino.Nm 56*86d7f5d3SJohn Marinoutility 57*86d7f5d3SJohn Marino.Pp 58*86d7f5d3SJohn MarinoThe following options are available: 59*86d7f5d3SJohn Marino.Bl -tag -width ".Fl N Ar execfile" 60*86d7f5d3SJohn Marino.It Fl c Ar cpu 61*86d7f5d3SJohn MarinoSpecify which CPU to dump. If not specified, all CPUs will be dumped. 62*86d7f5d3SJohn Marino.It Fl f 63*86d7f5d3SJohn MarinoIf a single CPU and either 64*86d7f5d3SJohn Marino.Fl i 65*86d7f5d3SJohn Marinoor 66*86d7f5d3SJohn Marino.Fl s 67*86d7f5d3SJohn Marinois specified, this option will use the repeat interval to detect changes 68*86d7f5d3SJohn Marinoand dump them as they occur. 69*86d7f5d3SJohn Marino.It Fl i 70*86d7f5d3SJohn MarinoDump the interrupt tracking buffer. 71*86d7f5d3SJohn Marino.It Fl s 72*86d7f5d3SJohn MarinoDump the kernel tracking buffer. 73*86d7f5d3SJohn MarinoIf neither 74*86d7f5d3SJohn Marino.Fl i 75*86d7f5d3SJohn Marinoor 76*86d7f5d3SJohn Marino.Fl s 77*86d7f5d3SJohn Marinois specified, both tracking buffers will be dumped. 78*86d7f5d3SJohn Marino.It Fl n 79*86d7f5d3SJohn Marino.Nm 80*86d7f5d3SJohn Marinonormally tries to translate the PC into symbols. This option forces hex 81*86d7f5d3SJohn Marinovalues to be displayed instead. 82*86d7f5d3SJohn Marino.It Fl N Ar execfile 83*86d7f5d3SJohn MarinoThe kernel image to resolve symbols from. 84*86d7f5d3SJohn MarinoThe default is the value returned via 85*86d7f5d3SJohn Marino.Xr getbootfile 3 . 86*86d7f5d3SJohn Marino.It Fl M Ar corefile 87*86d7f5d3SJohn MarinoThe core file or memory image to read from. 88*86d7f5d3SJohn MarinoThe default is 89*86d7f5d3SJohn Marino.Pa /dev/mem . 90*86d7f5d3SJohn Marino.El 91*86d7f5d3SJohn Marino.\".Sh OPERATIONAL NOTES 92*86d7f5d3SJohn Marino.Sh HISTORY 93*86d7f5d3SJohn MarinoThe 94*86d7f5d3SJohn Marino.Nm 95*86d7f5d3SJohn Marinoutility first appeared in 96*86d7f5d3SJohn Marino.Dx 1.5 . 97*86d7f5d3SJohn Marino.Sh AUTHORS 98*86d7f5d3SJohn Marino.An -nosplit 99*86d7f5d3SJohn MarinoThe 100*86d7f5d3SJohn Marino.Nm 101*86d7f5d3SJohn Marinoutility was originally implemented by 102*86d7f5d3SJohn Marino.An Matthew Dillon 103*86d7f5d3SJohn Marinofor 104*86d7f5d3SJohn Marino.Dx . 105