*** UNIX MANUAL PAGE BROWSER ***

A Nergahak database for man pages research.

Navigation

Directory Browser

1Browse 4.4BSD4.4BSD
1Browse Digital UNIXDigital UNIX 4.0e
1Browse FreeBSDFreeBSD 14.3
1Browse MINIXMINIX 3.4.0rc6-d5e4fc0
1Browse NetBSDNetBSD 10.1
1Browse OpenBSDOpenBSD 7.7
1Browse UNIX v7Version 7 UNIX
1Browse UNIX v10Version 10 UNIX

Manual Page Search

Manual Page Result

0 Command: dtrace_kinst | Section: 4 | Source: FreeBSD | File: dtrace_kinst.4.gz
DTRACE_KINST(4) FreeBSD Kernel Interfaces Manual DTRACE_KINST(4) NAME dtrace_kinst - a DTrace provider for tracing arbitrary instructions in a given kernel function SYNOPSIS kinst::<function>:<instruction> DESCRIPTION The DTrace kinst provider allows the user to trace any instruction in a given kernel function. <function> corresponds to the function to be traced, and <instruction> is the offset to the specific instruction, and can be obtained from the function's disassembly using kgdb from the gdb package. kinst creates probes on-demand, meaning it searches for and parses the function's instructions each time dtrace(1) is run, and not at module load time. This is in contrast to FBT's load-time parsing, since kinst can potentially create thousands of probes for just a single function, instead of up to two (entry and return) in the case of FBT. A result of this is that dtrace -l -P kinst will not match any probes. IMPLEMENTATION NOTES The provider is currently implemented only for amd64. EXAMPLES Find the offset corresponding to the third instruction in vm_fault() and trace it, printing the contents of the RSI register: # kgdb (kgdb) disas /r vm_fault Dump of assembler code for function vm_fault: 0xffffffff80876df0 <+0>: 55 push %rbp 0xffffffff80876df1 <+1>: 48 89 e5 mov %rsp,%rbp 0xffffffff80876df4 <+4>: 41 57 push %r15 # dtrace -n 'kinst::vm_fault:4 {printf("%#x", regs[R_RSI]);}' 2 81500 vm_fault:4 0x827c56000 2 81500 vm_fault:4 0x827878000 2 81500 vm_fault:4 0x1fab9bef0000 2 81500 vm_fault:4 0xe16cf749000 0 81500 vm_fault:4 0x13587c366000 ... Trace all instructions in amd64_syscall(): # dtrace -n 'kinst::amd64_syscall:' SEE ALSO dtrace(1) HISTORY The kinst provider first appeared in FreeBSD 14.0. AUTHORS This manual page was written by Christos Margiolis <[email protected]>. FreeBSD 14.1-RELEASE-p8 February 27, 2023 FreeBSD 14.1-RELEASE-p8

Navigation Options