|
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’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 © 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 |