⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classptrace.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>PTrace class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>PTrace Class Reference</h1><code>#include &lt;<a class="el" href="object_8h-source.html">object.h</a>&gt;</code><p><a href="classPTrace-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Public Types</h2></td></tr><tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#s10">Options</a> { <br>&nbsp;&nbsp;<a class="el" href="classPTrace.html#s10s0">Blocks</a> =  1, <a class="el" href="classPTrace.html#s10s1">DateAndTime</a> =  2, <a class="el" href="classPTrace.html#s10s2">Timestamp</a> =  4, <a class="el" href="classPTrace.html#s10s3">Thread</a> =  8, <br>&nbsp;&nbsp;<a class="el" href="classPTrace.html#s10s4">TraceLevel</a> =  16, <a class="el" href="classPTrace.html#s10s5">FileAndLine</a> =  32, <a class="el" href="classPTrace.html#s10s6">ThreadAddress</a> =  64, <a class="el" href="classPTrace.html#s10s7">AppendToFile</a> =  128, <br>&nbsp;&nbsp;<a class="el" href="classPTrace.html#s10s8">GMTTime</a> =  256, <a class="el" href="classPTrace.html#s10s9">SystemLogStream</a> =  32768<br> }</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Options for trace output.</em> <a href="#s10">More...</a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d0">Initialise</a> (unsigned level, const char *filename=NULL, unsigned options=Timestamp|Thread|Blocks)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d1">SetOptions</a> (unsigned options)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d2">ClearOptions</a> (unsigned options)</td></tr><tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d3">GetOptions</a> ()</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d4">SetLevel</a> (unsigned level)</td></tr><tr><td nowrap align=right valign=top>unsigned&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d5">GetLevel</a> ()</td></tr><tr><td nowrap align=right valign=top>BOOL&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d6">CanTrace</a> (unsigned level)</td></tr><tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d7">SetStream</a> (ostream *out)</td></tr><tr><td nowrap align=right valign=top>ostream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d8">Begin</a> (unsigned level, const char *fileName, int lineNum)</td></tr><tr><td nowrap align=right valign=top>ostream &amp;&nbsp;</td><td valign=bottom><a class="el" href="classPTrace.html#d9">End</a> (ostream &amp;strm)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Class to encapsulate tracing functions. This class does not require any instances and is only being used as a method of grouping functions together in a name space. <p><hr><h2>Member Enumeration Documentation</h2><a name="s10" doxytag="PTrace::Options"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> enum PTrace::Options      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Options for trace output.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s10s0" doxytag="Blocks"></a><em>Blocks</em></em>&nbsp;</td><td>Include <a class="el" href="classPTrace_1_1Block.html">PTrace::Block</a> constructs in output If this is bit is clear, all <a class="el" href="classPTrace_1_1Block.html">PTrace::Block</a> output is inhibited regardless of the trace level. If set, the <a class="el" href="classPTrace_1_1Block.html">PTrace::Block</a> may occur provided the trace level is greater than zero. </td></tr><tr><td valign=top><em><a name="s10s1" doxytag="DateAndTime"></a><em>DateAndTime</em></em>&nbsp;</td><td>Include date and time in all output.</td></tr><tr><td valign=top><em><a name="s10s2" doxytag="Timestamp"></a><em>Timestamp</em></em>&nbsp;</td><td>Include (millisecond) timestamp in all output.</td></tr><tr><td valign=top><em><a name="s10s3" doxytag="Thread"></a><em>Thread</em></em>&nbsp;</td><td>Include identifier for thread trace is made from in all output.</td></tr><tr><td valign=top><em><a name="s10s4" doxytag="TraceLevel"></a><em>TraceLevel</em></em>&nbsp;</td><td>Include trace level in all output.</td></tr><tr><td valign=top><em><a name="s10s5" doxytag="FileAndLine"></a><em>FileAndLine</em></em>&nbsp;</td><td>Include the file and line for the trace call in all output.</td></tr><tr><td valign=top><em><a name="s10s6" doxytag="ThreadAddress"></a><em>ThreadAddress</em></em>&nbsp;</td><td>Include thread object pointer address in all trace output.</td></tr><tr><td valign=top><em><a name="s10s7" doxytag="AppendToFile"></a><em>AppendToFile</em></em>&nbsp;</td><td>Append to log file rather than resetting every time.</td></tr><tr><td valign=top><em><a name="s10s8" doxytag="GMTTime"></a><em>GMTTime</em></em>&nbsp;</td><td>SystemLog flag for tracing within a <a class="el" href="classPServiceProcess.html">PServiceProcess</a> application. Must be set in conjection with SetStream(new PSystemLog). </td></tr><tr><td valign=top><em><a name="s10s9" doxytag="SystemLogStream"></a><em>SystemLogStream</em></em>&nbsp;</td><td>Output timestamps in GMT time rather than local time </td></tr></table></dl>    </td>  </tr></table><hr><h2>Member Function Documentation</h2><a name="d8" doxytag="PTrace::Begin"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> ostream&amp; PTrace::Begin </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">unsigned&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>level</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>const char *&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>fileName</em>, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>int&nbsp;</td>          <td class="mdname" nowrap>&nbsp; <em>lineNum</em></td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Begin a trace output. If the trace stream output is used outside of the provided macros, it should be noted that a mutex is obtained on the call to PBeginTrace# which will prevent any other threads from using the trace stream until the PEndTrace# function is called.<p>So a typical usage would be: \begin{verbatim} ostream &amp; s = PTrace::Begin(3, __FILE__, __LINE__); s &lt;&lt; "hello"; if (want_there) s &lt;&lt; " there"; s &lt;&lt; '!' &lt;&lt; <a class="el" href="classPTrace.html#d9">PTrace::End()</a>; \end{verbatim} <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>fileName</em>&nbsp;</td><td>Log level for output </td></tr><tr><td valign=top><em>lineNum</em>&nbsp;</td><td>Filename of source file being traced Line number of source file being traced. </td></tr></table></dl>    </td>  </tr></table><a name="d6" doxytag="PTrace::CanTrace"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> BOOL PTrace::CanTrace </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">unsigned&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>level</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Determine if the level may cause trace output. This checks against the current global trace level set by PSetTraceLevel# for if the trace output may be emitted. This is used by the PTRACE macro. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>level</em>&nbsp;</td><td>Trace level to check </td></tr></table></dl>    </td>  </tr></table><a name="d2" doxytag="PTrace::ClearOptions"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> void PTrace::ClearOptions </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">unsigned&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>options</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>Clear the trace options. The <a class="el" href="object_8h.html#a16">PTRACE()</a>, <a class="el" href="object_8h.html#a14">PTRACE_BLOCK()</a> and <a class="el" href="object_8h.html#a15">PTRACE_LINE()</a> macros output trace text that may contain assorted values. These are defined by the Options enum.<p>Note this function AND's the complement of the bits included in the options parameter. <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>options</em>&nbsp;</td><td>New level for trace </td></tr></table></dl>    </td>  </tr></table><a name="d9" doxytag="PTrace::End"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> ostream&amp; PTrace::End </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">ostream &amp;&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp; <em>strm</em>          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap><code> [static]</code></td>        </tr>      </table>    </td>  </tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -