xref: /freebsd/share/man/man4/dtrace_pid.4 (revision 9fe88e5503239cb65e503e3b2b7344933a888644)
1*9fe88e55SMateusz Piotrowski.\"
2*9fe88e55SMateusz Piotrowski.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
3*9fe88e55SMateusz Piotrowski.\"
4*9fe88e55SMateusz Piotrowski.\" SPDX-License-Identifier: BSD-2-Clause
5*9fe88e55SMateusz Piotrowski.\"
6*9fe88e55SMateusz Piotrowski.Dd November 6, 2025
7*9fe88e55SMateusz Piotrowski.Dt DTRACE_PID 4
8*9fe88e55SMateusz Piotrowski.Os
9*9fe88e55SMateusz Piotrowski.Sh NAME
10*9fe88e55SMateusz Piotrowski.Nm dtrace_pid
11*9fe88e55SMateusz Piotrowski.Nd a DTrace provider for dynamic userspace tracing based on function boundary instrumentation
12*9fe88e55SMateusz Piotrowski.Sh SYNOPSIS
13*9fe88e55SMateusz Piotrowski.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
14*9fe88e55SMateusz Piotrowski.\" XXX: For some reason Op renders here in bold, so use literal square
15*9fe88e55SMateusz Piotrowski.\"      brackets instead.
16*9fe88e55SMateusz Piotrowski.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns No \&[ Ns Ar offset Ns No \&]
17*9fe88e55SMateusz Piotrowski.Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
18*9fe88e55SMateusz Piotrowski.Sh DESCRIPTION
19*9fe88e55SMateusz PiotrowskiThe
20*9fe88e55SMateusz Piotrowski.Nm pid
21*9fe88e55SMateusz Piotrowskiprovider implements userspace dynamic tracing
22*9fe88e55SMateusz Piotrowskiby instrumenting the entry and return of functions in userspace programs.
23*9fe88e55SMateusz PiotrowskiRefer to
24*9fe88e55SMateusz Piotrowski.Xr dtrace_fbt 4
25*9fe88e55SMateusz Piotrowskifor more details about function boundary instrumentation.
26*9fe88e55SMateusz Piotrowski.Pp
27*9fe88e55SMateusz PiotrowskiThe
28*9fe88e55SMateusz Piotrowski.Nm pid
29*9fe88e55SMateusz Piotrowskiprovider provides the following probes:
30*9fe88e55SMateusz Piotrowski.Bl -inset
31*9fe88e55SMateusz Piotrowski.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
32*9fe88e55SMateusz Piotrowskiinstruments the entry of the
33*9fe88e55SMateusz Piotrowski.Ar function .
34*9fe88e55SMateusz Piotrowski.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
35*9fe88e55SMateusz Piotrowskiinstruments the instruction within the
36*9fe88e55SMateusz Piotrowski.Ar function
37*9fe88e55SMateusz Piotrowskilocated at
38*9fe88e55SMateusz Piotrowski.Ar offset
39*9fe88e55SMateusz Piotrowskibytes (expressed as a hexadecimal integer).
40*9fe88e55SMateusz Piotrowski.It Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
41*9fe88e55SMateusz Piotrowskiinstruments the return from the
42*9fe88e55SMateusz Piotrowski.Ar function .
43*9fe88e55SMateusz Piotrowski.El
44*9fe88e55SMateusz Piotrowski.Ss Probe Arguments
45*9fe88e55SMateusz PiotrowskiThe arguments of the entry probe
46*9fe88e55SMateusz Piotrowski.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:entry
47*9fe88e55SMateusz Piotrowskiare the arguments of the traced function call.
48*9fe88e55SMateusz Piotrowski.Bl -column -offset indent "Entry Probe Argument" "Definition"
49*9fe88e55SMateusz Piotrowski.It Sy Entry Probe Argument Ta Sy Definition
50*9fe88e55SMateusz Piotrowski.It Ft uint64_t Fa arg0  Ta Function's first argument
51*9fe88e55SMateusz Piotrowski.It Ft uint64_t Fa arg1  Ta Function's second argument
52*9fe88e55SMateusz Piotrowski.It Ft uint64_t Fa arg2  Ta Function's third argument
53*9fe88e55SMateusz Piotrowski.It Fa ...      Ta ...
54*9fe88e55SMateusz Piotrowski.El
55*9fe88e55SMateusz Piotrowski.Pp
56*9fe88e55SMateusz PiotrowskiThe offset probes
57*9fe88e55SMateusz Piotrowski.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&: Ns Op Ar offset
58*9fe88e55SMateusz Piotrowskido not define any arguments.
59*9fe88e55SMateusz PiotrowskiUse
60*9fe88e55SMateusz Piotrowski.Va uregs[]
61*9fe88e55SMateusz Piotrowskito inspect the registers.
62*9fe88e55SMateusz Piotrowski.Pp
63*9fe88e55SMateusz PiotrowskiThe arguments of the return probe
64*9fe88e55SMateusz Piotrowski.Pq Nm pid Ns Ar PID Ns Cm \&: Ns Ar module Ns Cm \&: Ns Ar function Ns Cm \&:return
65*9fe88e55SMateusz Piotrowskiare the program counter and the function's return value.
66*9fe88e55SMateusz Piotrowski.Bl -column -offset indent "Return Probe Argument" "Definition"
67*9fe88e55SMateusz Piotrowski.It Sy Return Probe Argument Ta Sy Definition
68*9fe88e55SMateusz Piotrowski.It Ft uint64_t Fa arg0  Ta Program counter
69*9fe88e55SMateusz Piotrowski.It Ft uint64_t Fa arg1  Ta Function's return value
70*9fe88e55SMateusz Piotrowski.El
71*9fe88e55SMateusz Piotrowski.Pp
72*9fe88e55SMateusz PiotrowskiNote that all probe arguments within the
73*9fe88e55SMateusz Piotrowski.Nm pid
74*9fe88e55SMateusz Piotrowskiprovider are of type
75*9fe88e55SMateusz Piotrowski.Ft uint64_t .
76*9fe88e55SMateusz Piotrowski.Sh SEE ALSO
77*9fe88e55SMateusz Piotrowski.Xr dtrace 1 ,
78*9fe88e55SMateusz Piotrowski.Xr dtrace_fbt 4 ,
79*9fe88e55SMateusz Piotrowski.Xr dtrace_kinst 4 ,
80*9fe88e55SMateusz Piotrowski.Xr elf 5 ,
81*9fe88e55SMateusz Piotrowski.Xr d 7 ,
82*9fe88e55SMateusz Piotrowski.Xr tracing 7
83*9fe88e55SMateusz Piotrowski.Rs
84*9fe88e55SMateusz Piotrowski.%A Brendan Gregg
85*9fe88e55SMateusz Piotrowski.%A Jim Mauro
86*9fe88e55SMateusz Piotrowski.%B DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
87*9fe88e55SMateusz Piotrowski.%I Prentice Hall
88*9fe88e55SMateusz Piotrowski.%D 2011
89*9fe88e55SMateusz Piotrowski.%U https://www.brendangregg.com/dtracebook/
90*9fe88e55SMateusz Piotrowski.Re
91*9fe88e55SMateusz Piotrowski.Rs
92*9fe88e55SMateusz Piotrowski.%B The illumos Dynamic Tracing Guide
93*9fe88e55SMateusz Piotrowski.%O Chapter pid Provider
94*9fe88e55SMateusz Piotrowski.%D 2008
95*9fe88e55SMateusz Piotrowski.%U https://illumos.org/books/dtrace/chp-pid.html
96*9fe88e55SMateusz Piotrowski.Re
97*9fe88e55SMateusz Piotrowski.Sh AUTHORS
98*9fe88e55SMateusz PiotrowskiThis manual page was written by
99*9fe88e55SMateusz Piotrowski.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
100