debuggercdi/com.nokia.carbide.cpp.debug.crashdebugger/html/DebuggingInformation/CrashDebuggerInfoAboutKernel.guide04.html
changeset 0 fb279309251b
child 990 5d016a880824
child 1024 48b401835d0a
equal deleted inserted replaced
-1:000000000000 0:fb279309251b
       
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       
     2 	"http://www.w3.org/TR/html4/loose.dtd">
       
     3 	<html><head>
       
     4 	<title>Current Process State</title>
       
     5 	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="screen">
       
     6 	<link href="sysdoc-eclipse.css" type="text/css" rel="stylesheet" media="print">
       
     7 	<link href="../../book.css" type="text/css" rel="stylesheet" >
       
     8 <div class="Head1">
       
     9 
       
    10 <h2>Current Process State</h2>
       
    11 </div>
       
    12 <div>
       
    13 <p>The current process is the process in whose address space the
       
    14 current thread was executing when the fault occurred. The 15 lines starting at
       
    15 line 33 of the <a href="CrashDebuggerInfoAboutKernel.guide.html">output</a> gives information relating to the current process. This
       
    16 has some similarities with the current thread information:</p>
       
    17 <p class="listing">TheCurrentProcess=64038d5c<br>
       
    18   PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000<br>Full name test2.exe<br>ExitInfo 3,0,<br>Flags a0000000, Handles 6403860c, Attributes 60010000<br>DataBssChunk 64039234, CodeSeg 6403919c<br>DllLock 64039044, Process Lock 64038eec SID 00000000<br>TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff<br>CodeSegs: Count=0<br>NumChunks=2<br>0: Chunk 64039234, run 00400000, access count 1<br>1: Chunk 6403613c, run 00600000, access count 1<br>Process shared IO buffers cookie 0000031d<br>Process has no shared IO buffers<br>Domain -1, DACR 55555507</p>
       
    19 <p>The information includes: </p>
       
    20 <ul>
       
    21 <li>
       
    22 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_01" title="Extracting information about the kernel / Current process state / Process object and access count">Process object and access count</a></p>
       
    23 </li>
       
    24 <li>
       
    25 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_02" title="Extracting information about the kernel / Current process state / The process name">The process name</a></p>
       
    26 </li>
       
    27 <li>
       
    28 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_03" title="Extracting information about the kernel / Current process state / Exit information">Exit information</a></p>
       
    29 </li>
       
    30 <li>
       
    31 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_04" title="Extracting information about the kernel / Current process state / Process flags">Process flags</a></p>
       
    32 </li>
       
    33 <li>
       
    34 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_05" title="Extracting information about the kernel / Current thread state / Handles">Handles</a></p>
       
    35 </li>
       
    36 <li>
       
    37 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_06" title="Extracting information about the kernel / Current process state / Attributes">Attributes</a></p>
       
    38 </li>
       
    39 <li>
       
    40 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_07" title="Extracting information about the kernel / Current process state / Information about memory">Information about memory</a></p>
       
    41 </li>
       
    42 <li>
       
    43 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_08" title="Extracting information about the kernel / Current process state / Secure id">Secure id</a></p>
       
    44 </li>
       
    45 <li>
       
    46 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_09" title="Extracting information about the kernel / Current process state / Capability">Capability</a></p>
       
    47 </li>
       
    48 <li>
       
    49 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_10" title="Extracting information about the kernel / Current process state / Code segments">Code segments</a></p>
       
    50 </li>
       
    51 <li>
       
    52 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_11" title="Extracting information about the kernel / Current process state / Chunks owned by the process">Chunks owned by the process</a></p>
       
    53 </li>
       
    54 <li>
       
    55 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_12" title="Extracting information about the kernel / Current process state / Shared IO buffer information">Shared IO buffer information</a></p>
       
    56 </li>
       
    57 <li>
       
    58 <p><a href="CrashDebuggerInfoAboutKernel.guide04.html#cps_13" title="Extracting information about the kernel / Current process state / Domain information">Domain information</a></p>
       
    59 </li>
       
    60 </ul>
       
    61 </div><div class="Head3">
       
    62 <h3><a name="cps_01"></a>Process object and access count</h3>
       
    63 </div><div>
       
    64 <p class="CodeBlock">PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000</p>
       
    65 <p>The Process at field contains a pointer to the
       
    66 DProcess object representing the process.</p>
       
    67 <p>The AccessCount field contains the reference count
       
    68 on the process object.</p>
       
    69 <p>The owner field contains a pointer to the object
       
    70 that owns this DProcess object.</p>
       
    71 </div>
       
    72 <div class="Head3">
       
    73 <h3><a name="cps_02" id="cps_02"></a>The process name</h3>
       
    74 </div><div>
       
    75 <p class="CodeBlock">Full name test2.exe</p>
       
    76 <p>The Full name field gives the name of the process.
       
    77 In this example, the name of the process is <b>test2.exe</b>.</p>
       
    78 <p>See <a href="CrashDebuggerInfoAboutKernel.guide.html" title="Extracting information about the kernel / Current thread state / The thread name">the thread name</a>.</p>
       
    79 </div><div class="Head3">
       
    80 <h3><a name="cps_03" id="cps_03"></a>Exit information</h3>
       
    81 </div><div>
       
    82 <p class="CodeBlock">ExitInfo 3,0,</p>
       
    83 <p>The ExitInfo field contains the information that
       
    84 characterises the process exit. In this example, the value is 3, meaning that
       
    85 this process has not exited. See also TExitType.</p>
       
    86 </div><div class="Head3">
       
    87 <h3><a name="cps_04" id="cps_04"></a>Process flags</h3>
       
    88 </div><div>
       
    89 <p class="CodeBlock">Flags a0000000, Handles 6403860c, Attributes 60010000</p>
       
    90 <p>The Flags field contains information about the state
       
    91 of the process. The possible values in this field are defined by the
       
    92 KProcess... constants in u32std.h. While the symbols
       
    93 are internal to Symbian OS, the following table summarises the values and their
       
    94 meaning.</p>
       
    95 <table cellpadding="1" border="0" cellspacing="0"><tr><td
       
    96 class="TableWrap"><table cellpadding="5" cellspacing="1"
       
    97 border="0"><tr valign="top"><td class="Cell">
       
    98 <p><b>Symbol</b></p></td><td class="Cell">
       
    99 <p><b>Value</b></p></td><td class="Cell">
       
   100 <p><b>Meaning</b></p></td></tr>
       
   101 <tr valign="top"><td class="Cell">
       
   102 <p>KProcessFlagSystemCritical</p></td><td class="Cell">
       
   103 <p>0x00000004</p></td><td class="Cell">
       
   104 <p>A process panic causes the entire system to
       
   105 reboot.</p></td></tr>
       
   106 <tr valign="top"><td class="Cell">
       
   107 <p>KProcessFlagSystemPermanent</p></td><td class="Cell">
       
   108 <p>0x00000008</p></td><td class="Cell">
       
   109 <p>If the process exits for any reason, then this causes the
       
   110 entire system to reboot.</p></td></tr>
       
   111 <tr valign="top"><td class="Cell">
       
   112 <p>KProcessFlagPriorityControl</p></td><td class="Cell">
       
   113 <p> 0x40000000</p></td><td class="Cell">
       
   114 <p>If set, then other threads are allowed to change this
       
   115 thread&#8217;s priority.</p></td></tr>
       
   116 <tr valign="top"><td class="Cell">
       
   117 <p>KProcessFlagJustInTime</p></td><td class="Cell">
       
   118 <p>0x80000000</p></td><td class="Cell">
       
   119 <p>If set, then just-in-time debug is enabled for this
       
   120 thread.</p></td></tr>
       
   121 </table></td></tr></table>
       
   122 </div><div class="Head3">
       
   123 <h3><a name="cps_05" id="cps_05"></a>Handles</h3>
       
   124 </div><div>
       
   125 <p class="CodeBlock">Flags a0000000, Handles 6403860c, Attributes 60010000</p>
       
   126 <p>The Handles field contains the address of a
       
   127 DObjectIx object that contains the handles owned by the
       
   128 process.</p>
       
   129 </div><div class="Head3">
       
   130 <h3><a name="cps_06" id="cps_06"></a>Attributes</h3>
       
   131 </div><div>
       
   132 <p class="CodeBlock">Flags a0000000, Handles 6403860c, Attributes 60010000</p>
       
   133 <p>The Attributes field contains the attributes of the
       
   134 process. Some are generic, as defined by
       
   135 DProcess::TProcessAttributes, but others depend on the
       
   136 memory model.</p>
       
   137 </div>
       
   138 <h3><a name="cps_07" id="cps_07"></a>Information about memory</h3>
       
   139 <div class="Head3"></div>
       
   140 <div>
       
   141 <p class="CodeBlock">DataBssChunk 64039234, CodeSeg 6403919c</p>
       
   142 <p>The DataBssChunk field contains a pointer to the
       
   143 DChunk object representing the chunk that contains the process
       
   144 data and .bss memory. Be aware that this is not the same as the
       
   145 heap - heaps are allocated to threads, and chunk information is found in the
       
   146 DThread object.</p>
       
   147 <p>The CodeSeg field contains a pointer to the
       
   148 DCodeSeg object that represents the code segment.</p>
       
   149 </div><div class="Head3">
       
   150 <h3><a name="cps_08" id="cps_08"></a>Secure id</h3>
       
   151 </div><div>
       
   152 <p class="CodeBlock">DllLock 64039044, Process Lock 64038eec SID 00000000</p>
       
   153 <p>The SID field contains the secure id of the
       
   154 process.</p>
       
   155 </div><div class="Head3">
       
   156 <h3><a name="cps_09" id="cps_09"></a>Capability</h3>
       
   157 </div><div>
       
   158 <p class="CodeBlock">TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff</p>
       
   159 <p>The second four bytes of the Capability field contains the set of
       
   160 bits that define the capability for this process. This defines what the process
       
   161 can and cannot do.</p>
       
   162 </div><div class="Head3">
       
   163 <h3><a name="cps_10" id="cps_10"></a>Code segments</h3>
       
   164 </div><div>
       
   165 <p class="CodeBlock">CodeSegs: Count=0</p>
       
   166 <p>The CodeSegs: Count field contains the number of
       
   167 code segments that have been dynamically loaded into the process. This will be
       
   168 zero if the process is XIP.</p>
       
   169 </div><div class="Head3">
       
   170 <h3><a name="cps_11" id="cps_11"></a>Chunks owned by the process</h3>
       
   171 </div><div>
       
   172 <p class="CodeBlock">NumChunks=2<br>0: Chunk 64039234, run 00400000, access count 1<br>1: Chunk 6403613c, run 00600000, access count 1</p>
       
   173 <p>The NumChunks field contains the number of chunks owned by the
       
   174 process.</p>
       
   175 <p>Successive lines contain information about each chunk:</p>
       
   176 <ul>
       
   177 <li>
       
   178 <p>the Chunk field contains the address of a kernel
       
   179 DChunk object.</p>
       
   180 </li>
       
   181 <li>
       
   182 <p>the run field contains the virtual address at
       
   183 which the chunk resides when this is the current process.</p>
       
   184 </li>
       
   185 <li>
       
   186 <p> the access count field contains the reference
       
   187 count of the object.</p>
       
   188 </li>
       
   189 </ul>
       
   190 </div><div class="Head3">
       
   191 <h3><a name="cps_12" id="cps_12"></a>Shared IO buffer information</h3>
       
   192 </div>
       
   193 <div>
       
   194 <p class="CodeBlock">Process shared IO buffers cookie 0000031d<br>Process has no shared IO buffers</p>
       
   195 <p>This is information about shared IO buffers. The cookie is only
       
   196 really of interest to base engineers.</p>
       
   197 </div>
       
   198 <div class="Head3">
       
   199 <h3><a name="cps_13" id="cps_13"></a>Domain information</h3>
       
   200 </div><div>
       
   201 <p class="CodeBlock">Domain -1, DACR 55555507</p>
       
   202 <p>This is ARM MMU-specific protection information. Processes have
       
   203 domain -1 and DACR 0xFFFFFFFF.</p>
       
   204 </div>
       
   205 <h5>Related tasks</h5>
       
   206 <ul>
       
   207   <li><a href="CrashDebuggerInfoAboutKernel.guide.html">Extracting Kernel Information</a> </li>
       
   208   <li><a href="CrashDebuggerInfoAboutKernel.guide02.html">Scheduler State</a></li>
       
   209   <li><a href="CrashDebuggerInfoAboutKernel.guide03.html">Current Thread State</a></li>
       
   210   <li><a href="CrashDebuggerInfoAboutKernel.guide05.html">Current Data Section Process</a></li>
       
   211 </ul>
       
   212 <div id="footer">Copyright &copy; 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. <br>License: <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a></div>
       
   213 	   </body>
       
   214 	   </html>
       
   215