summaryrefslogtreecommitdiff
path: root/static/freebsd/man4/dtrace_dtrace.4 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man4/dtrace_dtrace.4 3.html')
-rw-r--r--static/freebsd/man4/dtrace_dtrace.4 3.html228
1 files changed, 0 insertions, 228 deletions
diff --git a/static/freebsd/man4/dtrace_dtrace.4 3.html b/static/freebsd/man4/dtrace_dtrace.4 3.html
deleted file mode 100644
index f8097489..00000000
--- a/static/freebsd/man4/dtrace_dtrace.4 3.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<table class="head">
- <tr>
- <td class="head-ltitle">DTRACE_DTRACE(4)</td>
- <td class="head-vol">Device Drivers Manual</td>
- <td class="head-rtitle">DTRACE_DTRACE(4)</td>
- </tr>
-</table>
-<div class="manual-text">
-<section class="Sh">
-<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
-<p class="Pp"><code class="Nm">dtrace_dtrace</code> &#x2014; <span class="Nd">a
- DTrace provider for BEGIN, END, and ERROR probes</span></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
-<table class="Nm">
- <tr>
- <td><code class="Nm">dtrace<code class="Cm">:::BEGIN</code></code></td>
- <td></td>
- </tr>
-</table>
-<br/>
-<table class="Nm">
- <tr>
- <td><code class="Nm">dtrace<code class="Cm">:::END</code></code></td>
- <td></td>
- </tr>
-</table>
-<br/>
-<table class="Nm">
- <tr>
- <td><code class="Nm">dtrace<code class="Cm">:::ERROR</code></code></td>
- <td></td>
- </tr>
-</table>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
-<p class="Pp">The <code class="Nm">dtrace</code> provider implements three
- special probes related to the life cycle of the DTrace program itself.</p>
-<section class="Ss">
-<h2 class="Ss" id="dtrace:::BEGIN"><a class="permalink" href="#dtrace:::BEGIN">dtrace:::BEGIN</a></h2>
-<p class="Pp">The <code class="Nm">dtrace</code><code class="Cm">:::BEGIN</code>
- probe fires at the beginning of a <a class="Xr">dtrace(1)</a>, program
- before tracing has begun. It provides a convenient place for initializing
- variables and printing column headers.</p>
-<p class="Pp">Variables such as <var class="Va">stack</var> or
- <var class="Va">execname</var> cannot be relied upon in the execution
- context of the
- <code class="Nm">dtrace</code><code class="Cm">:::BEGIN</code> probe.</p>
-</section>
-<section class="Ss">
-<h2 class="Ss" id="dtrace:::END"><a class="permalink" href="#dtrace:::END">dtrace:::END</a></h2>
-<p class="Pp">The <code class="Nm">dtrace</code><code class="Cm">:::END</code>
- probe fires at the end of a <a class="Xr">dtrace(1)</a> program, when all
- tracing has stopped.</p>
-</section>
-<section class="Ss">
-<h2 class="Ss" id="dtrace:::ERROR"><a class="permalink" href="#dtrace:::ERROR">dtrace:::ERROR</a></h2>
-<p class="Pp">The <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code>
- probe fires when an unexpected runtime error occurs in another probe.</p>
-<p class="Pp">The following table describes the arguments to
- <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code>.</p>
-<table class="Bl-column Bd-indent">
- <tr id="Argument">
- <td><a class="permalink" href="#Argument"><b class="Sy">Argument</b></a></td>
- <td><a class="permalink" href="#Definition"><b class="Sy" id="Definition">Definition</b></a></td>
- </tr>
- <tr>
- <td><var class="Fa">arg1</var></td>
- <td>Enabled probe identifier (EPID) of the probe where the runtime error
- occurred</td>
- </tr>
- <tr>
- <td><var class="Fa">arg2</var></td>
- <td>Index of the action statement that caused the error</td>
- </tr>
- <tr>
- <td><var class="Fa">arg3</var></td>
- <td>DIF offset into the action if available (otherwise -1)</td>
- </tr>
- <tr>
- <td><var class="Fa">arg4</var></td>
- <td>Fault type</td>
- </tr>
- <tr>
- <td><var class="Fa">arg5</var></td>
- <td>Accessed address (or 0 if not applicable) when
- <var class="Va">arg4</var> is of fault type
- <code class="Dv">DTRACEFLT_BADADDR</code>,
- <code class="Dv">DTRACEFLT_BADALIGN</code>,
- <code class="Dv">DTRACEFLT_KPRIV</code>, or
- <code class="Dv">DTRACEFLT_UPRIV</code></td>
- </tr>
-</table>
-<p class="Pp">The fault types are:</p>
-<div class="Bd-indent">
-<dl class="Bl-tag Bl-compact">
- <dt id="DTRACEFLT_UNKNOWN"><a class="permalink" href="#DTRACEFLT_UNKNOWN"><code class="Dv">DTRACEFLT_UNKNOWN</code></a></dt>
- <dd>Unknown fault</dd>
- <dt id="DTRACEFLT_BADADDR"><a class="permalink" href="#DTRACEFLT_BADADDR"><code class="Dv">DTRACEFLT_BADADDR</code></a></dt>
- <dd>Bad address</dd>
- <dt id="DTRACEFLT_BADALIGN"><a class="permalink" href="#DTRACEFLT_BADALIGN"><code class="Dv">DTRACEFLT_BADALIGN</code></a></dt>
- <dd>Bad alignment</dd>
- <dt id="DTRACEFLT_ILLOP"><a class="permalink" href="#DTRACEFLT_ILLOP"><code class="Dv">DTRACEFLT_ILLOP</code></a></dt>
- <dd>Illegal operation</dd>
- <dt id="DTRACEFLT_DIVZERO"><a class="permalink" href="#DTRACEFLT_DIVZERO"><code class="Dv">DTRACEFLT_DIVZERO</code></a></dt>
- <dd>Divide-by-zero</dd>
- <dt id="DTRACEFLT_NOSCRATCH"><a class="permalink" href="#DTRACEFLT_NOSCRATCH"><code class="Dv">DTRACEFLT_NOSCRATCH</code></a></dt>
- <dd>Out of scratch space</dd>
- <dt id="DTRACEFLT_KPRIV"><a class="permalink" href="#DTRACEFLT_KPRIV"><code class="Dv">DTRACEFLT_KPRIV</code></a></dt>
- <dd>Illegal kernel access</dd>
- <dt id="DTRACEFLT_UPRIV"><a class="permalink" href="#DTRACEFLT_UPRIV"><code class="Dv">DTRACEFLT_UPRIV</code></a></dt>
- <dd>Illegal user access</dd>
- <dt id="DTRACEFLT_TUPOFLOW"><a class="permalink" href="#DTRACEFLT_TUPOFLOW"><code class="Dv">DTRACEFLT_TUPOFLOW</code></a></dt>
- <dd>Tuple stack overflow</dd>
- <dt id="DTRACEFLT_BADSTACK"><a class="permalink" href="#DTRACEFLT_BADSTACK"><code class="Dv">DTRACEFLT_BADSTACK</code></a></dt>
- <dd>Bad stack</dd>
-</dl>
-</div>
-</section>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
-<dl class="Bl-tag">
- <dt><code class="In">&lt;<a class="In">sys/dtrace.h</a>&gt;</code></dt>
- <dd>The header file containing the definitions of DTrace fault types.</dd>
-</dl>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1>
-<section class="Ss">
-<h2 class="Ss" id="Example_1_:_Custom_Column_Headers"><a class="permalink" href="#Example_1_:_Custom_Column_Headers">Example
- 1: Custom Column Headers</a></h2>
-<p class="Pp">The following script uses the
- <code class="Nm">dtrace</code><code class="Cm">:::BEGIN</code> probe to
- print column headers. Note the pragma line setting the
- &#x2018;<code class="Li">quiet</code>&#x2019; option to disable the default
- column headers.</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>#pragma D option quiet
-
-dtrace:::BEGIN
-{
- printf(&quot; %12s %-20s %-20s %s\n&quot;,
- &quot;DELTA(us)&quot;, &quot;OLD&quot;, &quot;NEW&quot;, &quot;TIMESTAMP&quot;);
-}</pre>
-</div>
-</section>
-<section class="Ss">
-<h2 class="Ss" id="Example_2_:_Handling_Runtime_Errors_with_dtrace:::ERROR"><a class="permalink" href="#Example_2_:_Handling_Runtime_Errors_with_dtrace:::ERROR">Example
- 2: Handling Runtime Errors with dtrace:::ERROR</a></h2>
-<p class="Pp">The following script causes a runtime error by dereferencing a
- pointer on address <span class="Ad">19930908</span> in the
- <code class="Cm">BEGIN</code> probe. As a result, the
- <code class="Cm">ERROR</code> probe fires and prints out
- &#x201C;Oops&#x201D; along with the probe arguments. At that point, the
- program ends and fires the <code class="Cm">END</code> probe.</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>ERROR
-{
- printf(&quot;Oops\n&quot;);
- printf(&quot;EPID (arg1): %d\n&quot;, arg1);
- printf(&quot;Action index (arg2): %d\n&quot;, arg2);
- printf(&quot;DIF offset (arg3): %d\n&quot;, arg3);
- printf(&quot;Fault type (arg4): %d\n&quot;, arg4);
- printf(&quot;Accessed address (arg5): %X\n&quot;, arg5);
- exit(1);
-}
-BEGIN
-{
- *(int *)0x19931101;
-}
-END {
- printf(&quot;Bye&quot;);
-}</pre>
-</div>
-<p class="Pp">This script will result in the following output:</p>
-<div class="Bd Pp Bd-indent Li">
-<pre>CPU ID FUNCTION:NAME
- 2 3 :ERROR Oops
-EPID (arg1): 2
-Action index (arg2): 1
-DIF offset (arg3): 16
-Fault type: 1
-arg5: 19931101
-
-dtrace: error on enabled probe ID 2 (ID 1: dtrace:::BEGIN): invalid address (0x19931101) in action #1 at DIF offset 16
- 2 2 :END Bye</pre>
-</div>
-</section>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
- ALSO</a></h1>
-<p class="Pp"><a class="Xr">dtrace(1)</a>, <a class="Xr">tracing(7)</a></p>
-<p class="Pp"><cite class="Rs"><i class="RsB">The illumos Dynamic Tracing
- Guide</i>,
- <a class="RsU" href="https://illumos.org/books/dtrace/chp-dtrace.html">https://illumos.org/books/dtrace/chp-dtrace.html</a>,
- <span class="RsD">2008</span>, <span class="RsO">Chapter dtrace
- Provider</span>.</cite></p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
-<p class="Pp">This manual page was written by <span class="An">Mateusz
- Piotrowski</span>
- &lt;<a class="Mt" href="mailto:0mp@FreeBSD.org">0mp@FreeBSD.org</a>&gt;.</p>
-</section>
-<section class="Sh">
-<h1 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h1>
-<p class="Pp">The <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code>
- probe arguments cannot be accessed through the typed
- <var class="Va">args[]</var> array.</p>
-<p class="Pp"><a class="Xr">dtrace(1)</a> will not fire the
- <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code> probe
- recursively. If an error occurs in one of the action statements of the
- <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code>, then
- <a class="Xr">dtrace(1)</a> will abort further processing of the
- <code class="Nm">dtrace</code><code class="Cm">:::ERROR</code> probe's
- actions.</p>
-</section>
-</div>
-<table class="foot">
- <tr>
- <td class="foot-date">July 14, 2025</td>
- <td class="foot-os">FreeBSD 15.0</td>
- </tr>
-</table>