📄 streams.doc23.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html><head><link rel="STYLESHEET" type="text/css" href="../../wrs.css"><title>WindNet STREAMS Debugging WindNet STREAMS for Tornado </title></head><body bgcolor="FFFFFF"><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="../../icons/contents.gif"></a><a href="streams.doc22.html"><img border="0" alt="[Prev]" src="../../icons/prev.gif"></a><a href="streams.doc24.html"><img border="0" alt="[Next]" src="../../icons/next.gif"></a></p><font face="Helvetica, sans-serif" class="sans"><h3 class="H2"><i><a name="80262" class="autotag">5.3 STREAMS Examination Utilities</a></i></h3></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="80263" class="autotag"> </a>The WindNet STREAMS component provides a rich set of utilities with which a STREAMS application developer can examine STREAMS structures, such as open streams, queues, message blocks. It also provides utilities to display statistics about the usage of open streams , queues, and message blocks. These utilities are included in VxWorks if you define <b>INCLUDE_STREAMS_DEBUG</b> in <b class="file">configAll.h</b>. </p><p class="Body"><a name="89412" class="autotag"> </a>The following sections introduce the various show utilities.</p></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80264" class="autotag">5.3.1 <b class="routine"><i class="routine">strmOpenStreamsShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="80672" class="autotag"> </a>This routine displays information about all open streams in the STREAMS subsystem. It displays the address of the stream, flags associated with the stream, the major number associated with the stream, and the minor number associated with the stream. </p><p class="Body"><a name="91204" class="autotag"> </a>For example, the following command displays information similar to the output below: The file descriptor associated with the open stream is displayed as an index to the global variable <b class="keyword">sth_open_streams</b>. </p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="80266" class="autotag">-> strmOpenStreamsShow</a><a name="80268" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="84922" class="autotag"><tt><font class="output" color="#55AA55">sth_open_streams[11] ==> sth 0x3fe300, flags 0x80, maj 9, min 2</font></tt></a><a name="80269" class="autotag"><tt><font class="output" color="#55AA55">sth_open_streams[14] ==> sth 0x39969c, flags 0x0, maj 9, min 7</font></tt></a><a name="80270" class="autotag"><tt><font class="output" color="#55AA55">sth_open_streams[15] ==> sth 0x3aa714, flags 0x200, maj 9, min 6</font></tt></a></pre></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80272" class="autotag">5.3.2 <b class="routine"><i class="routine">strmQueueShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="80673" class="autotag"> </a>This routine displays information about all queues on a stream. The parameter passed to this routine is the address of a specified stream. </p><p class="Body"><a name="80273" class="autotag"> </a>It displays the name of the stream, the read queue address, the read queue next pointer address, the write queue address, and the write queue next pointer address. </p><p class="Body"><a name="84924" class="autotag"> </a>For example, the following command displays information similar to the output below:</p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="80275" class="autotag">-> strmQueueShow (0x3fe300)</a><a name="80276" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="84927" class="autotag"><tt><font class="output" color="#55AA55">name sth q 0x3fe050 q_next 0x0 wrq 0x3fe094 wrq_next 0x3fdc40</font></tt></a><a name="80277" class="autotag"><tt><font class="output" color="#55AA55">name echo q 0x3fdbfc q_next 0x3fe050 wrq 0x3fdc40 wrq_next 0x3fdbfc</font></tt></a></pre></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80279" class="autotag">5.3.3 <b class="routine"><i class="routine">strmBandShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="91195" class="autotag"> </a>This routine displays information about all message blocks in a particular band. The parameters passed to this routine are the address of the specified stream and band. </p><p class="Body"><a name="91196" class="autotag"> </a>For example, the following command displays the output below:</p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="91197" class="autotag">-> strmBandShow (0x3fe300, 100)</a><a name="91198" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="91199" class="autotag"><tt><font class="output" color="#55AA55">mp 0x396b64, type 0, band 100, len 512, size 512, cont 0x0</font></tt></a><a name="91200" class="autotag"><tt><font class="output" color="#55AA55">mp 0x3a160c, type 0, band 100, len 512, size 512, cont 0x0</font></tt></a></pre></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80287" class="autotag">5.3.4 <b class="routine"><i class="routine">strmMessageShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="80679" class="autotag"> </a>This routine displays information about all the messages in the queue-pair. The parameter passed to this routine is the address of the specified queue.</p><p class="Body"><a name="95220" class="autotag"> </a>It displays the address of the message block, the message type, the band, and the size of the message. </p><p class="Body"><a name="84958" class="autotag"> </a>For example, the following command displays the output below:</p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="80289" class="autotag">-> strmMessageShow (0x3fdbfc) </a><a name="80291" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="84961" class="autotag"><tt><font class="output" color="#55AA55">Queue check: rq 0x3fdbfc, wq 0x3fdc40</font></tt></a><a name="80292" class="autotag"><tt><font class="output" color="#55AA55">Write Queue 0x3fdbfc, first 0x396b64, last 0x394874, next 0x3fdbfc flag 0x24</font></tt></a><a name="80293" class="autotag"><tt><font class="output" color="#55AA55">mp 0x396b64, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80294" class="autotag"><tt><font class="output" color="#55AA55">mp 0x3a160c, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80295" class="autotag"><tt><font class="output" color="#55AA55">mp 0x3980e4, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80296" class="autotag"><tt><font class="output" color="#55AA55">mp 0x394874, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80297" class="autotag"><tt><font class="output" color="#55AA55">Read Queue 0x3fe050, first 0x397624, last 0x3960a4, next 0x0 flag 0x2f</font></tt></a><a name="80298" class="autotag"><tt><font class="output" color="#55AA55">mp 0x397624, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80299" class="autotag"><tt><font class="output" color="#55AA55">mp 0x3968b4, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a><a name="80300" class="autotag"><tt><font class="output" color="#55AA55">mp 0x3960a4, type 0, band 0, len 512, size 512, cont 0x0</font></tt></a></pre></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80302" class="autotag">5.3.5 <b class="routine"><i class="routine">strmQueueStatShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="85006" class="autotag"> </a>This routine displays statistics about system-wide usage of queues. It displays the number of queues allocated, the number of queues in use, the total number of queues configured, the maximum number of queues that can be allocated, and the number of queue allocation failures. </p><p class="Body"><a name="84996" class="autotag"> </a>For example, the following command displays the output below:</p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="84989" class="autotag">-> strmQueueStatShow</a><a name="84991" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="84994" class="autotag"><tt><font class="output" color="#55AA55">ITEM Allocated inuse total max fail</font></tt></a><a name="80307" class="autotag"><tt><font class="output" color="#55AA55">Queue 10 10 10 10 0</font></tt></a></pre></dd></dl></dd></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H3"><i><a name="80309" class="autotag">5.3.6 <b class="routine"><i class="routine">strmStatShow</i></b><b>( )</b></a></i></h4></font><dl class="margin"><dd><dl class="margin"><dd><p class="Body"><a name="80685" class="autotag"> </a>This routine displays statistics about streams in the system. It displays the number of streams allocated, the number of streams in use, the total number of streams configured, the maximum number of streams that can be configured, the number of stream allocation failures.</p><p class="Body"><a name="85034" class="autotag"> </a>For example, the following command displays the output below:</p></dd></dl><dl class="margin"><dd><pre class="Code"><a name="80311" class="autotag">-> strmStatShow</a><a name="80313" class="autotag"><tt><font class="output" color="#55AA55"></font></tt></a><a name="85058" class="autotag"><tt><font class="output" color="#55AA55">ITEM Allocated inuse total max fail</font></tt></a><a name="80314" class="autotag"><tt><font class="output" color="#55AA55">Streams 3 3 10 3 0</font></tt></a></pre></dd></dl>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -