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