Adaptation/GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A" xml:lang="en"><title>Kernel
       
    13 State Information Commands</title><shortdesc>Describes how to use the <codeph>i</codeph> command to get detailed
       
    14 information on the current process, thread, user process, user thread, and
       
    15 the state of the kernel. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    16 <p>The output shown below is a typical result of using the <xref href="GUID-08E14B34-5144-5AA8-AA55-7AF03671676C.dita#GUID-08E14B34-5144-5AA8-AA55-7AF03671676C/GUID-D0175D78-6F84-5F4F-BA90-2C591B473C69">i</xref> command, and we use this to illustrate how information can be extracted
       
    17 about the: </p>
       
    18 <ul>
       
    19 <li id="GUID-FCDEBC28-363F-539C-BCF7-C472ED279C5A"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-D64C53F4-78D4-51FC-B7DD-27E10B435CFD">Scheduler state</xref>  </p> </li>
       
    20 <li id="GUID-12616D76-643A-5814-833A-0C3CDD92BD97"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-31DF5393-FD03-56B7-B5F2-1F6DBD86D7C4">Current thread state</xref>  </p> </li>
       
    21 <li id="GUID-EF2FF4EC-7F11-5F72-BEC3-7F25762889F3"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-2424E413-F2F3-5625-932D-515860911424">Current process state</xref>  </p> </li>
       
    22 <li id="GUID-4B3694AB-AB36-5AEC-A514-CB858F5EFEB0"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-877907D5-6A04-510B-AE99-C3856A0469E7">Current data section process</xref>  </p> </li>
       
    23 </ul>
       
    24 <codeblock id="GUID-8ACEF4EF-0C02-50A9-8E2B-EB3917E9B726" xml:space="preserve">SCHEDULER @64000348: CurrentThread 640396b0
       
    25 RescheduleNeeded=00 DfcPending=00 KernCSLocked=00000001
       
    26 DFCS: next 64000458 prev 64000458
       
    27 ProcessHandler=f8014904, AddressSpace=64038d5c
       
    28 SYSLOCK: HoldingThread 00000000 iWaiting 00000000
       
    29 Extras 0: 64038d5c 1: 64038d5c 2: 64038d5c 3: 00000000
       
    30 Extras 4: 00000000 5: 00000000 6: 00000000 7: 00000000
       
    31 Extras 8: 00000000 9: 00000000 A: 00000000 B: 00000000
       
    32 Extras C: 00000000 D: 00000000 E: 00000000 F: 00000000
       
    33 
       
    34 TheCurrentThread=64039408
       
    35 THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
       
    36 Full name test2.exe::Main
       
    37 Thread MState READY
       
    38 Default priority 16 WaitLink Priority 16
       
    39 ExitInfo 2,100,USER
       
    40 Flags 00000004, Handles 640330bc
       
    41 Supervisor stack base 6571f000 size 1000
       
    42 User stack base 00402000 size 2000
       
    43 Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
       
    44 Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
       
    45 TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
       
    46 NThread @ 640396b0 Pri 16 NState READY
       
    47 Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
       
    48 HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
       
    49 Time=17 Timeslice=20 ReqCount=0
       
    50 SuspendCount=0 CsCount=1 CsFunction=fffffffe
       
    51 SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
       
    52 DACR 63990000
       
    53 R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
       
    54  R4 f8033794  R5 64039408  R6 640396b0  R7 f8028518
       
    55  R8 640396b0  R9 640396b0 R10 00000000 R11 f80284d8
       
    56  PC 00000000
       
    57 
       
    58 TheCurrentProcess=64038d5c
       
    59 PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000
       
    60 Full name test2.exe
       
    61 ExitInfo 3,0,
       
    62 Flags a0000000, Handles 6403860c, Attributes 60010000
       
    63 DataBssChunk 64039234, CodeSeg 6403919c
       
    64 DllLock 64039044, Process Lock 64038eec SID 00000000
       
    65 TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff
       
    66 CodeSegs: Count=0
       
    67 NumChunks=2
       
    68 0: Chunk 64039234, run 00400000, access count 1
       
    69 1: Chunk 6403613c, run 00600000, access count 1
       
    70 Process shared IO buffers cookie 0000031d
       
    71 Process has no shared IO buffers
       
    72 Domain -1, DACR 55555507
       
    73 TheCurrentAddressSpace=64038d5c
       
    74 TheCurrentVMProcess=64038d5c
       
    75 PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000
       
    76 Full name test2.exe
       
    77 ExitInfo 3,0,
       
    78 Flags a0000000, Handles 6403860c, Attributes 60010000
       
    79 DataBssChunk 64039234, CodeSeg 6403919c
       
    80 DllLock 64039044, Process Lock 64038eec SID 00000000
       
    81 TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff
       
    82 CodeSegs: Count=0
       
    83 NumChunks=2
       
    84 0: Chunk 64039234, run 00400000, access count 1
       
    85 1: Chunk 6403613c, run 00600000, access count 1
       
    86 Process shared IO buffers cookie 0000031d
       
    87 Process has no shared IO buffers
       
    88 Domain -1, DACR 55555507
       
    89 TheCurrentDataSectionProcess=64038d5c
       
    90 TheCompleteDataSectionProcess=64038d5c
       
    91 PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000
       
    92 Full name test2.exe
       
    93 ExitInfo 3,0,
       
    94 Flags a0000000, Handles 6403860c, Attributes 60010000
       
    95 DataBssChunk 64039234, CodeSeg 6403919c
       
    96 DllLock 64039044, Process Lock 64038eec SID 00000000
       
    97 TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff
       
    98 CodeSegs: Count=0
       
    99 NumChunks=2
       
   100 0: Chunk 64039234, run 00400000, access count 1
       
   101 1: Chunk 6403613c, run 00600000, access count 1
       
   102 Process shared IO buffers cookie 0000031d
       
   103 Process has no shared IO buffers
       
   104 Domain -1, DACR 55555507
       
   105 </codeblock>
       
   106 <section id="GUID-D64C53F4-78D4-51FC-B7DD-27E10B435CFD"><title>Scheduler state</title> <p>The
       
   107 first three lines and the fifth line of the output show the state of the kernel
       
   108 scheduler. This information is mainly of interest to kernel engineers, although
       
   109 the state of the kernel and the system locks can be useful when debugging
       
   110 device driver crashes. </p> <codeblock id="GUID-D21A9A99-C956-5276-AEE1-3609CE72DB6E" xml:space="preserve">SCHEDULER @64000348: CurrentThread 640396b0
       
   111 RescheduleNeeded=00 DfcPending=00 KernCSLocked=00000001
       
   112 DFCS: next 64000458 prev 64000458
       
   113 ...
       
   114 SYSLOCK: HoldingThread 00000000 iWaiting 00000000
       
   115 </codeblock> <p>The values are interpreted as follows: </p> <table id="GUID-E13DE258-ACD5-5EEB-AFC7-988747AA3863">
       
   116 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   117 <tbody>
       
   118 <row>
       
   119 <entry><p> <codeph>SCHEDULER @</codeph>  </p> </entry>
       
   120 <entry><p>This is the address of the kernel’s scheduler instance; this is
       
   121 not very useful. </p> </entry>
       
   122 </row>
       
   123 <row>
       
   124 <entry><p> <codeph>CurrentThread</codeph>  </p> </entry>
       
   125 <entry><p>The address of the kernel object for the current kernel thread. </p> </entry>
       
   126 </row>
       
   127 <row>
       
   128 <entry><p> <codeph>RescheduleNeeded</codeph>  </p> </entry>
       
   129 <entry><p>This is set to non-zero by the kernel to force a reschedule, for
       
   130 example if a thread has been signalled </p> </entry>
       
   131 </row>
       
   132 <row>
       
   133 <entry><p> <codeph>DfcPending</codeph>  </p> </entry>
       
   134 <entry><p>This is non-zero when there are DFCs queued. </p> </entry>
       
   135 </row>
       
   136 <row>
       
   137 <entry><p> <codeph>KernCSLocked</codeph>  </p> </entry>
       
   138 <entry><p>This is incremented each time the kernel is locked by a call to <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-7CBBF72B-4519-38DD-92CA-38AF636AFD8A"><apiname>NKern::Lock()</apiname></xref>,
       
   139 and decremented by calls to <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-A1A42137-906C-30F1-AF61-4F786FC372DE"><apiname>NKern::Unlock()</apiname></xref>. A value of
       
   140 zero means that the kernel is not locked. </p> </entry>
       
   141 </row>
       
   142 <row>
       
   143 <entry><p> <codeph>DFCS:</codeph>  </p> </entry>
       
   144 <entry><p>The addresses of the next and the previous items on the DFC queue </p> </entry>
       
   145 </row>
       
   146 <row>
       
   147 <entry><p> <codeph>HoldingThread</codeph>  </p> </entry>
       
   148 <entry><p>The address of the thread holding the system lock mutex. The system
       
   149 lock is set by call to <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-B3837744-B8CC-3DC0-BA1D-417016E88EE9"><apiname>NKern::LockSystem()</apiname></xref> and unset by
       
   150 call to <xref href="GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02.dita#GUID-3A3C08F3-3D33-3D9E-80E7-7855C7B21E02/GUID-63B882C8-C5D0-3595-BBF1-74E942A5060A"><apiname>NKern::UnlockSystem()</apiname></xref>  </p> </entry>
       
   151 </row>
       
   152 <row>
       
   153 <entry><p> <codeph>iWaiting</codeph>  </p> </entry>
       
   154 <entry><p>Non-zero, if any thread is waiting for the system lock mutex. </p> </entry>
       
   155 </row>
       
   156 </tbody>
       
   157 </tgroup>
       
   158 </table> </section>
       
   159 <section id="GUID-31DF5393-FD03-56B7-B5F2-1F6DBD86D7C4"><title>Current thread
       
   160 state</title> <p>The current thread is the thread that was executing when
       
   161 the fault occurred. The 23 lines starting at line 10 of the output gives information
       
   162 relating to the current thread: </p> <codeblock id="GUID-2AB3CE2B-3428-5CFD-8480-FE33B07972C3" xml:space="preserve">TheCurrentThread=64039408
       
   163 THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c
       
   164 Full name test2.exe::Main
       
   165 Thread MState READY
       
   166 Default priority 16 WaitLink Priority 16
       
   167 ExitInfo 2,100,USER
       
   168 Flags 00000004, Handles 640330bc
       
   169 Supervisor stack base 6571f000 size 1000
       
   170 User stack base 00402000 size 2000
       
   171 Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000
       
   172 Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000
       
   173 TempObj=00000000 TempAlloc=00000000 IpcCount=00000000
       
   174 NThread @ 640396b0 Pri 16 NState READY
       
   175 Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b
       
   176 HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c
       
   177 Time=17 Timeslice=20 ReqCount=0
       
   178 SuspendCount=0 CsCount=1 CsFunction=fffffffe
       
   179 SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
       
   180 DACR 63990000
       
   181 R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
       
   182  R4 f8033794  R5 64039408  R6 640396b0  R7 f8028518
       
   183  R8 640396b0  R9 640396b0 R10 00000000 R11 f80284d8
       
   184  PC 00000000</codeblock> <ul>
       
   185 <li id="GUID-0CEB1586-DB4D-5390-AEB8-987681EA07B2"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-38E186F9-73E3-5A15-9AAF-3CEFCDC0540B">Thread object and access count</xref>  </p> </li>
       
   186 <li id="GUID-48F79826-183C-5EE0-9B00-FB1D0B66040D"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-73FCD8C6-089B-54E1-A6CA-798DAC33B6DF">The thread name</xref>  </p> </li>
       
   187 <li id="GUID-75A20FEF-7C66-567C-A774-657065912FF3"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-2581D5E1-6CA2-55AC-ABD9-9E67AF4AE692">The thread state, exit information, priority</xref>  </p> </li>
       
   188 <li id="GUID-DA7CBB15-0537-5116-8026-F0873AB537F9"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-58B010AF-587A-556D-B831-B083C5BC11EE">Thread flags</xref>  </p> </li>
       
   189 <li id="GUID-B7DA3F70-5CC8-538D-A2ED-F98EB30D8577"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-026A5C10-C2F5-564A-B5CC-AE2B76A144A9">Handles</xref>  </p> </li>
       
   190 <li id="GUID-6820DE1D-5109-555B-9BF3-F9FF55507393"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-033C939E-BA01-5FC4-AD77-17FD891FE724">Kernel &amp; user stack addresses</xref>  </p> </li>
       
   191 <li id="GUID-6FA4EFD8-AE98-5E73-AF5D-8BC202419EB8"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-595813CE-C13C-5E27-9016-63A9FEA393C0">Thread id, RAllocator instances, trap frame</xref>  </p> </li>
       
   192 <li id="GUID-0144EA8F-E1A8-5F3C-9826-FC4642135FE0"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-71901B6F-6BBF-5DCC-8F3F-DC601DB21543">Trap handler, active scheduler and user-side exception handler</xref>  </p> </li>
       
   193 <li id="GUID-1FCA2909-CE38-5DE8-A5EA-4A4516D6BBA2"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-62666275-C252-5EE0-B3F5-21F65600AD1D">Temporary object, temporary allocation, IPC count</xref>  </p> </li>
       
   194 <li id="GUID-5A1CC314-6891-53DA-AF5E-1E4DE0598E4B"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-6C42738E-2644-5064-B349-B48266BF286D">Underlying nanokernel thread</xref>  </p> </li>
       
   195 <li id="GUID-3F5BD294-813F-595D-93DF-802C9A1E519D"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-3C1A2A53-E2BE-5959-9F2D-C63400F6AABA">Fast mutexes</xref>  </p> </li>
       
   196 <li id="GUID-70CC2F58-E3FC-59D5-A645-AD27BC3C184C"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-36E24838-15FB-5A69-9122-7AFF98F219AE">Timing, request semaphore count</xref>  </p> </li>
       
   197 </ul> <p id="GUID-38E186F9-73E3-5A15-9AAF-3CEFCDC0540B"><b>Thread object and access
       
   198 count</b> </p> <codeblock id="GUID-15EEA149-76AF-57BD-A67D-4337020933E8" xml:space="preserve">THREAD at 64039408 VPTR=f803423c AccessCount=3 Owner=64038d5c</codeblock> <p>The <codeph>THread at</codeph> field contains a pointer to the <codeph>DThread</codeph> object
       
   199 representing the thread. </p> <p>The <codeph>AccessCount</codeph> field contains
       
   200 the reference count on the thread object. </p> <p>The <codeph>owner</codeph> field
       
   201 contains a pointer to the object that owns this <codeph>DThread</codeph> object. </p> <p id="GUID-73FCD8C6-089B-54E1-A6CA-798DAC33B6DF"><b>The thread name</b> </p> <codeblock id="GUID-05E008EE-375F-51D0-B738-42A978B167E4" xml:space="preserve">Full name test2.exe::Main</codeblock> <p>The
       
   202 thread name is the part after the colons. The part before the colons is the
       
   203 process name. This means that the thread is called <b>Main</b> inside the
       
   204 process <b>test2.exe</b>. </p> <p id="GUID-2581D5E1-6CA2-55AC-ABD9-9E67AF4AE692"><b>The thread state, exit information,
       
   205 priority</b> </p> <codeblock id="GUID-FCFE05EE-FE8B-514D-9EC9-44C14A5DE700" xml:space="preserve">Thread MState READY
       
   206 Default priority 16 WaitLink Priority 16
       
   207 ExitInfo 2,100,USER</codeblock> <p>The information that characterises the
       
   208 thread exit is described by <codeph>ExitInfo</codeph>; this is shown as exit
       
   209 type, exit reason and exit category. In this example: </p> <ul>
       
   210 <li id="GUID-E9CE2364-F8B2-5990-8AFD-94BDD0C9782A"><p>the thread has panicked,
       
   211 as indicated by: <b>exit type 2</b>; See also <xref href="GUID-0296BFC6-7F7C-3259-AF21-7E9B5C304B24.dita"><apiname>TExitType</apiname></xref>. </p> </li>
       
   212 <li id="GUID-96DACA09-4212-5E6C-8834-53F5B4EE6A82"><p>the panic category was: <b>USER</b>  </p> </li>
       
   213 <li id="GUID-1077CDFF-4C1D-5256-8A32-FA4B6118541A"><p>the panic number was:<b>100</b>  </p> </li>
       
   214 <li id="GUID-E42997ED-A327-57BC-BA7B-0D6EEA8BEA95"><p>the thread was running
       
   215 or it was in a ready-to-run state: <b>MState READY</b>  </p> </li>
       
   216 </ul> <p>The priority shown is for the underlying thread, see also <xref href="GUID-49379616-C235-598D-AE43-668998AD072B.dita#GUID-49379616-C235-598D-AE43-668998AD072B/GUID-4D7F6A1F-3120-5547-B027-344C08A01D83">Process and thread priorities</xref>. </p> <p id="GUID-58B010AF-587A-556D-B831-B083C5BC11EE"><b>Thread flags</b> </p> <codeblock id="GUID-7D1F17F6-ED74-5A3A-9214-D85B91D52CC4" xml:space="preserve">Flags 00000004, Handles 640330bc</codeblock> <p>The <codeph>Flags</codeph> field
       
   217 contains information about the state of the thread. The possible values in
       
   218 this field are defined by the <codeph>KThread...</codeph> constants in <filepath>u32std.h</filepath>.
       
   219 While the symbols are internal to Symbian platform, the following table summarises
       
   220 the values and their meaning. </p> <table id="GUID-46D4FB94-284B-5415-8E8A-54EED6C4E37F">
       
   221 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
       
   222 <tbody>
       
   223 <row>
       
   224 <entry><p> <b>Symbol</b>  </p> </entry>
       
   225 <entry><p> <b>Value</b>  </p> </entry>
       
   226 <entry><p> <b>Meaning</b>  </p> </entry>
       
   227 </row>
       
   228 <row>
       
   229 <entry><p> <codeph>KThreadFlagProcessCritical</codeph>  </p> </entry>
       
   230 <entry><p> <codeph>0x00000001</codeph>  </p> </entry>
       
   231 <entry><p>A thread panic causes the process to panic. </p> </entry>
       
   232 </row>
       
   233 <row>
       
   234 <entry><p> <codeph>KThreadFlagProcessPermanent</codeph>  </p> </entry>
       
   235 <entry><p> <codeph>0x00000002</codeph>  </p> </entry>
       
   236 <entry><p>If the thread exits for any reason, then this causes the process
       
   237 to exit. </p> </entry>
       
   238 </row>
       
   239 <row>
       
   240 <entry><p> <codeph>KThreadFlagSystemCritical</codeph>  </p> </entry>
       
   241 <entry><p> <codeph>0x00000004</codeph>  </p> </entry>
       
   242 <entry><p>If the thread panics, then this causes the entire system to reboot. </p> </entry>
       
   243 </row>
       
   244 <row>
       
   245 <entry><p> <codeph>KThreadFlagSystemPermanent</codeph>  </p> </entry>
       
   246 <entry><p> <codeph>0x00000008</codeph>  </p> </entry>
       
   247 <entry><p>If the thread exits for any reason, then this causes the entire
       
   248 system to reboot. </p> </entry>
       
   249 </row>
       
   250 <row>
       
   251 <entry><p> <codeph>KThreadFlagOriginal</codeph>  </p> </entry>
       
   252 <entry><p> <codeph>0x00000010</codeph>  </p> </entry>
       
   253 <entry><p>Reserved for future use. </p> </entry>
       
   254 </row>
       
   255 <row>
       
   256 <entry><p> <codeph>KThreadFlagLastChance</codeph>  </p> </entry>
       
   257 <entry><p> <codeph>0x00000020</codeph>  </p> </entry>
       
   258 <entry><p>Set if the thread is currently handling an exception. </p> </entry>
       
   259 </row>
       
   260 </tbody>
       
   261 </tgroup>
       
   262 </table> <p id="GUID-026A5C10-C2F5-564A-B5CC-AE2B76A144A9"><b>Handles</b> </p> <codeblock id="GUID-8FF13D5A-D4F2-5B04-B306-B91DB54AA4C3" xml:space="preserve">Flags 00000004, Handles 640330bc</codeblock> <p>The <codeph>Handles</codeph> field
       
   263 contains the address of a <codeph>DObjectIx</codeph> object that contains
       
   264 the handles owned by the thread. </p> <p id="GUID-033C939E-BA01-5FC4-AD77-17FD891FE724"><b>Kernel &amp; user stack
       
   265 addresses</b> </p> <codeblock id="GUID-FA6F4E36-AC78-5518-B82A-82AB7BE9BA9A" xml:space="preserve">Supervisor stack base 6571f000 size 1000
       
   266 User stack base 00402000 size 2000
       
   267 </codeblock> <p>These fields give the base address and size, in bytes, of
       
   268 the kernel and user stacks respectively. </p> <p id="GUID-595813CE-C13C-5E27-9016-63A9FEA393C0"><b>Thread id, RAllocator instances,
       
   269 trap frame</b> </p> <codeblock id="GUID-E28677AC-E286-5043-AFE7-7E775D836A3A" xml:space="preserve">Id=26, Alctr=00600000, Created alctr=00600000, Frame=00000000</codeblock> <p>The <codeph>Id</codeph> field contains the thread id. </p> <p>The <codeph>Alctr</codeph> field
       
   270 contains a pointer to the current <xref href="GUID-9DB4A58C-6FC8-3292-A547-4C161BD188FC.dita"><apiname>RAllocator</apiname></xref> instance used
       
   271 for heap allocation. </p> <p>The <codeph>Created alctr</codeph> field contains
       
   272 a pointer to the original <xref href="GUID-9DB4A58C-6FC8-3292-A547-4C161BD188FC.dita"><apiname>RAllocator</apiname></xref> instance used for
       
   273 heap allocation. This may be different from the current instance if <xref href="GUID-C197C9A7-EA05-3F24-9854-542E984C612D.dita#GUID-C197C9A7-EA05-3F24-9854-542E984C612D/GUID-988B1323-D1E2-33DE-923A-A987F2CAFBB7"><apiname>User::SwitchAllocator()</apiname></xref> has
       
   274 been called. </p> <p>The <codeph>Frame</codeph> field contains a pointer to
       
   275 the current trap frame, an instance of the <codeph>TTrap</codeph> class, on
       
   276 the cleanup stack. </p> <p id="GUID-71901B6F-6BBF-5DCC-8F3F-DC601DB21543"><b>Trap handler, active scheduler,
       
   277 user-side exception handler</b> </p> <codeblock id="GUID-21E4E26F-9F2F-5BC2-9324-0988A50CD376" xml:space="preserve">Trap handler=00000000, ActiveScheduler=00000000, Exception handler=00000000</codeblock> <p>The <codeph>Trap handler</codeph> field contains a pointer to the current
       
   278 trap handler, an instance of <xref href="GUID-1C6ED16E-2105-3C17-81C7-026D211DCCC0.dita"><apiname>TTrapHandler</apiname></xref>, for the cleanup
       
   279 stack. </p> <p>The <codeph>ActiveScheduler</codeph> field contains a pointer
       
   280 to the current active scheduler. </p> <p>The <codeph>Exception handler</codeph> field
       
   281 contains a pointer to the current user-side exception handler. </p> <p id="GUID-62666275-C252-5EE0-B3F5-21F65600AD1D"><b>Temporary object, temporary
       
   282 allocation, IPC count</b> </p> <codeblock id="GUID-DCBEBEBE-35FD-57EE-9A8B-DEF0C59A4042" xml:space="preserve">TempObj=00000000 TempAlloc=00000000 IpcCount=00000000</codeblock> <p>The <codeph>Tempobj</codeph> field contains a pointer to an instance
       
   283 of a <xref href="GUID-E48F1435-14B6-37F1-BE47-2EA803AFE497.dita"><apiname>DObject</apiname></xref> derived class that must be closed when the
       
   284 thread terminates. </p> <p>The <codeph>TempAlloc</codeph> field contains a
       
   285 pointer to a kernel heap cell that must be freed when the thread terminates.
       
   286 Both this and <codeph>Tempobj</codeph> are used to avoid leaks if the thread
       
   287 terminates unexpectedly. </p> <p>The <codeph>IpcCount</codeph> field contains
       
   288 the number of messages currently queued to this thread. </p> <p id="GUID-6C42738E-2644-5064-B349-B48266BF286D"><b>Underlying nanokernel thread</b> </p> <codeblock id="GUID-6A4598D5-CD52-54C5-B314-8DF7AD14F4A9" xml:space="preserve">NThread @ 640396b0 Pri 16 NState READY
       
   289 Next=640396b0 Prev=640396b0 Att=03 iUserContextType=0b</codeblock> <p>The <codeph>NThread</codeph> field
       
   290 contains a pointer to the underlying nanokernel thread object, an instance
       
   291 of the <xref href="GUID-187D314F-1115-3671-AC46-37AEC5DFB2AC.dita"><apiname>NThread</apiname></xref> class. </p> <p>The <codeph>Pri</codeph> field
       
   292 contains the current priority of the underlying nanokernel thread. </p> <p>The <codeph>NState</codeph> field
       
   293 shows the current state of the underlying nanokernel thread. Note that this
       
   294 state is often referred to as the N-state, as compared to the to M-state,
       
   295 the state of a Symbian platform thread. See the <xref href="GUID-49379616-C235-598D-AE43-668998AD072B.dita#GUID-49379616-C235-598D-AE43-668998AD072B/GUID-DDC45F0A-6B62-5EE6-9E42-D21F07BCF4B4">Thread
       
   296 state summary</xref>. </p> <p>The <codeph>Next</codeph> field points to the
       
   297 next nanokernel thread object. </p> <p>The <codeph>Prev</codeph> field points
       
   298 to the previous nanokernel thread object. </p> <p>The <codeph>Att</codeph> field
       
   299 contains the nanokernel thread attributes, which is an 8-bit mask that controls
       
   300 how the thread is scheduled in certain cases. Two attributes are defined: </p> <table id="GUID-A241F528-3E55-504B-ACD8-F33AAB7F0D87">
       
   301 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   302 <tbody>
       
   303 <row>
       
   304 <entry><p> <codeph> KThreadAttImplicitSystemLock</codeph>  </p> </entry>
       
   305 <entry><p>This attribute signifies that the thread may not be scheduled if
       
   306 another thread currently holds the system lock, unless the the former thread
       
   307 holds another fast mutex. This attribute is used in implementing address space
       
   308 switching in the moving memory model and also in implementing change of user
       
   309 context in order to allow exceptions to be raised on other threads. </p> </entry>
       
   310 </row>
       
   311 <row>
       
   312 <entry><p> <codeph>KThreadAttAddressSpace</codeph>  </p> </entry>
       
   313 <entry><p>This attribute signifies that the thread may require a change of
       
   314 address space to schedule it. This attribute is used in conjunction with the
       
   315 thread’s <codeph>iAddressSpace</codeph> field; if this does not match the
       
   316 scheduler’s <codeph>iAddressSpace</codeph> field at the point where the thread
       
   317 is scheduled an address space switch will occur. Note that this is not required
       
   318 if the address space change is limited to the ARM domain permissions since
       
   319 these are saved and restored as part of the thread context. </p> </entry>
       
   320 </row>
       
   321 </tbody>
       
   322 </tgroup>
       
   323 </table> <p id="GUID-3C1A2A53-E2BE-5959-9F2D-C63400F6AABA"><b>Fast mutexes</b> </p> <codeblock id="GUID-09E41C50-99C1-56CC-AD16-2A5C1A47104B" xml:space="preserve">HeldFM=00000000 WaitFM=00000000 AddrSp=64038d5c</codeblock> <p>The <codeph>HeldFM</codeph> field
       
   324 contains a pointer to the fast mutex held by this thread; this is NULL if
       
   325 no fast mutext was held. </p> <p>The <codeph>WaitFM</codeph> field contains
       
   326 a pointer to the fast mutex that this thread was waiting on; this is NULL
       
   327 if this thread was not waiting on a fast mutex. </p> <p>The <codeph>AddrSp</codeph> field
       
   328 is the address space identifier used by the scheduler to determine whether
       
   329 an address space change is required when scheduling in a new thread. </p> <p id="GUID-36E24838-15FB-5A69-9122-7AFF98F219AE"><b>Timing, request semaphore
       
   330 count</b> </p> <codeblock id="GUID-486FAC6A-5FE5-5937-8E15-FA526E65BDE6" xml:space="preserve">Time=17 Timeslice=20 ReqCount=0</codeblock> <p>The <codeph>Time</codeph> field
       
   331 contains the number of nanokernel ticks, usually in milliseconds, to go before
       
   332 the thread is preempted. </p> <p>The <codeph>Timeslice</codeph> field contains
       
   333 the maximum number of ticks for which the thread can run before being preempted. </p> <p>The <codeph>ReqCount</codeph> contains
       
   334 the request semaphore counter. If the value is negative, then the thread is
       
   335 blocked waiting for a request to complete; if it is positive, then one or
       
   336 more requests have completed. </p> <p id="GUID-BE914CFE-EE27-5661-A8E5-E85E897E880B"><b>Suspend count, critical
       
   337 section counter, register values</b> </p> <codeblock id="GUID-2F12508F-70D3-5F74-AC62-3BCAA1E00C69" xml:space="preserve">SuspendCount=0 CsCount=1 CsFunction=fffffffe
       
   338 SavedSP=6571ff34 ExtraContext=00000000 ExtraContextSize=0000
       
   339 DACR 63990000
       
   340 R13_USR 6571ff88 R14_USR f8025bc0 SPSR_SVC 10000004
       
   341  R4 f8033794  R5 64039408  R6 640396b0  R7 f8028518
       
   342  R8 640396b0  R9 640396b0 R10 00000000 R11 f80284d8
       
   343  PC 00000000
       
   344 </codeblock> <p>The <codeph>SuspendCount</codeph> field contains the number
       
   345 of times that the thread has been suspended. </p> <p>The <codeph>CsCount</codeph> field
       
   346 critical section counter. When this value is greater than zero, then the thread
       
   347 is in a critical section and cannot be suspended or killed. </p> <p>The remaining
       
   348 content is a list of register values. <i>Note that they are not the register
       
   349 values when the thread panicked.</i> They are the values in the registers
       
   350 the last time that this thread was pre-empted. </p> </section>
       
   351 <section id="GUID-2424E413-F2F3-5625-932D-515860911424"><title>Current process
       
   352 state</title> <p>The current process is the process in whose address space
       
   353 the current thread was executing when the fault occurred. The 15 lines starting
       
   354 at line 33 of the output gives information relating to the current process.
       
   355 This has some similarities with the current thread information: </p> <codeblock id="GUID-9A11F0D0-6939-5EB5-8CA0-D8501699563B" xml:space="preserve">TheCurrentProcess=64038d5c
       
   356 PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000
       
   357 Full name test2.exe
       
   358 ExitInfo 3,0,
       
   359 Flags a0000000, Handles 6403860c, Attributes 60010000
       
   360 DataBssChunk 64039234, CodeSeg 6403919c
       
   361 DllLock 64039044, Process Lock 64038eec SID 00000000
       
   362 TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff
       
   363 CodeSegs: Count=0
       
   364 NumChunks=2
       
   365 0: Chunk 64039234, run 00400000, access count 1
       
   366 1: Chunk 6403613c, run 00600000, access count 1
       
   367 Process shared IO buffers cookie 0000031d
       
   368 Process has no shared IO buffers
       
   369 Domain -1, DACR 55555507</codeblock> <ul>
       
   370 <li id="GUID-958232EF-0C57-5BE8-B7FD-9CE32E8868BA"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-C34D3FEF-E3F9-5123-9F30-40DBDA77C64C">Process object and access count</xref>  </p> </li>
       
   371 <li id="GUID-883E0C90-C62A-556B-8F7C-8A94EBBBCACD"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-BFACCA5F-FE1A-5580-9A1A-6FF79D60C7C2">The process name</xref>  </p> </li>
       
   372 <li id="GUID-9F8C813C-A45E-5CF6-8ED7-10F9C684A2EA"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-F229C034-2497-5F64-B2D2-8C677731BA2C">Exit information</xref>  </p> </li>
       
   373 <li id="GUID-D2C617EB-D70E-5847-8E27-ADF85BBD781E"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-6758C73B-BC11-59FC-9836-E8853665AF47">Process flags</xref>  </p> </li>
       
   374 <li id="GUID-93008AC0-CA9C-5663-BD48-BC57B767F030"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-026A5C10-C2F5-564A-B5CC-AE2B76A144A9">Handles</xref>  </p> </li>
       
   375 <li id="GUID-8D9F7DCE-E8E2-5414-87FE-21272BFAF590"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-41734978-89CD-5B5D-8361-2F74378ADB63">Attributes</xref> </p> </li>
       
   376 <li id="GUID-AA619815-2474-5741-93DD-F5734C2B5617"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-9A4BB007-9B90-51A4-BEA7-FC7108031C6A">Information about memory</xref>  </p> </li>
       
   377 <li id="GUID-52E95BE0-1123-544C-ADD4-CE087107EEF7"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-BCFE81CD-1E22-58F9-9370-7CA7EFD4B505">Secure id</xref>  </p> </li>
       
   378 <li id="GUID-053B4284-3873-56DA-9CC3-FC2C3E869E09"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-FF5194C1-B2AB-5665-B9DE-EF4AB08BEA3F">Capability</xref> </p> </li>
       
   379 <li id="GUID-05E35250-1EE3-5FF5-8622-51B24025FBC6"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-5F4276A9-7EDC-5D5C-840A-06A3EC1903CC">Code segments</xref>  </p> </li>
       
   380 <li id="GUID-45F0E651-1154-565C-AB4D-6ECA1AA7A7EC"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-E4C48F4E-6EF9-5937-A8DA-6DFA1968557E">Chunks owned by the process</xref>  </p> </li>
       
   381 <li id="GUID-73763927-40A9-5B34-B702-3FE90F56219C"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-2D147ABB-E9D7-540C-BC98-CB0E9E4B89FF">Shared IO buffer information</xref>  </p> </li>
       
   382 <li id="GUID-226E15CD-5382-51E6-B65D-8DA4DBD7CE4F"><p> <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-9CB0F4F8-C3E9-5108-AB7E-B23057C48BA4">Domain information</xref>  </p> </li>
       
   383 </ul> <p id="GUID-C34D3FEF-E3F9-5123-9F30-40DBDA77C64C"><b>Process object and access
       
   384 count</b> </p> <codeblock id="GUID-33CB81C9-8585-5C75-8F5C-2F1D897BA5F9" xml:space="preserve">PROCESS at 64038d5c VPTR=f80342a4 AccessCount=6 Owner=00000000</codeblock> <p>The <codeph>Process at</codeph> field contains a pointer to the <codeph>DProcess</codeph> object
       
   385 representing the process. </p> <p>The <codeph>AccessCount</codeph> field contains
       
   386 the reference count on the process object. </p> <p>The <codeph>owner</codeph> field
       
   387 contains a pointer to the object that owns this <codeph>DProcess</codeph> object. </p> <p id="GUID-BFACCA5F-FE1A-5580-9A1A-6FF79D60C7C2"><b>The process name</b> </p> <codeblock id="GUID-FD1903A5-AC86-59CE-BCC5-EC9E434DD5F8" xml:space="preserve">Full name test2.exe</codeblock> <p>The <codeph>Full
       
   388 name</codeph> field gives the name of the process. In this example, the name
       
   389 of the process is <b>test2.exe</b>. </p> <p>See <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-73FCD8C6-089B-54E1-A6CA-798DAC33B6DF">the
       
   390 thread name</xref>. </p> <p id="GUID-F229C034-2497-5F64-B2D2-8C677731BA2C"><b>Exit information</b> </p> <codeblock id="GUID-101BECBC-D613-5928-AB4E-70D292FBFDA7" xml:space="preserve">ExitInfo 3,0,</codeblock> <p>The <codeph>ExitInfo</codeph> field
       
   391 contains the information that characterises the process exit. In this example,
       
   392 the value is 3, meaning that this process has not exited. See also <xref href="GUID-0296BFC6-7F7C-3259-AF21-7E9B5C304B24.dita"><apiname>TExitType</apiname></xref>. </p> <p id="GUID-6758C73B-BC11-59FC-9836-E8853665AF47"><b>Process flags</b> </p> <codeblock id="GUID-163D2DFD-F5AF-594F-A618-A6795DBE88DC" xml:space="preserve">Flags a0000000, Handles 6403860c, Attributes 60010000</codeblock> <p>The <codeph>Flags</codeph> field
       
   393 contains information about the state of the process. The possible values in
       
   394 this field are defined by the <codeph>KProcess...</codeph> constants in <filepath>u32std.h</filepath>.
       
   395 While the symbols are internal to Symbian platform, the following
       
   396 table summarises the values and their meaning. </p> <table id="GUID-1913BCFB-93DD-58F5-B603-2B44A21C4621">
       
   397 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
       
   398 <tbody>
       
   399 <row>
       
   400 <entry><p> <b>Symbol</b>  </p> </entry>
       
   401 <entry><p> <b>Value</b>  </p> </entry>
       
   402 <entry><p> <b>Meaning</b>  </p> </entry>
       
   403 </row>
       
   404 <row>
       
   405 <entry><p> <codeph>KProcessFlagSystemCritical</codeph>  </p> </entry>
       
   406 <entry><p> <codeph>0x00000004</codeph>  </p> </entry>
       
   407 <entry><p>A process panic causes the entire system to reboot. </p> </entry>
       
   408 </row>
       
   409 <row>
       
   410 <entry><p> <codeph>KProcessFlagSystemPermanent</codeph>  </p> </entry>
       
   411 <entry><p> <codeph>0x00000008</codeph>  </p> </entry>
       
   412 <entry><p>If the process exits for any reason, then this causes the entire
       
   413 system to reboot. </p> </entry>
       
   414 </row>
       
   415 <row>
       
   416 <entry><p> <codeph>KProcessFlagPriorityControl</codeph>  </p> </entry>
       
   417 <entry><p> <codeph> 0x40000000</codeph>  </p> </entry>
       
   418 <entry><p>If set, then other threads are allowed to change this thread’s priority. </p> </entry>
       
   419 </row>
       
   420 <row>
       
   421 <entry><p> <codeph>KProcessFlagJustInTime</codeph>  </p> </entry>
       
   422 <entry><p> <codeph>0x80000000</codeph>  </p> </entry>
       
   423 <entry><p>If set, then just-in-time debug is enabled for this thread. </p> </entry>
       
   424 </row>
       
   425 </tbody>
       
   426 </tgroup>
       
   427 </table> <p id="GUID-1969D689-9BDD-5564-BA08-5424534EE1F2"><b>Handles</b> </p> <codeblock id="GUID-1DEFC9E1-7597-51DB-AF9A-3690F5D69507" xml:space="preserve">Flags a0000000, Handles 6403860c, Attributes 60010000</codeblock> <p>The <codeph>Handles</codeph> field
       
   428 contains the address of a <codeph>DObjectIx</codeph> object that contains
       
   429 the handles owned by the process. </p> <p id="GUID-41734978-89CD-5B5D-8361-2F74378ADB63"><b>Attributes</b> </p> <codeblock id="GUID-D526B23E-67A6-5667-A7E0-3761D83D84FA" xml:space="preserve">Flags a0000000, Handles 6403860c, Attributes 60010000</codeblock> <p>The <codeph>Attributes</codeph> field contains the attributes of the process. Some are generic, as defined
       
   430 by <xref href="GUID-5B2E4FFA-8E41-3D62-A386-11BFD3EBB436.dita#GUID-5B2E4FFA-8E41-3D62-A386-11BFD3EBB436/GUID-6B8684BC-CDCB-3A01-9937-FF20FB613FE6"><apiname>DProcess::TProcessAttributes</apiname></xref>, but others depend on the
       
   431 memory model. </p> <p id="GUID-9A4BB007-9B90-51A4-BEA7-FC7108031C6A"><b>Information about memory</b> </p> <codeblock id="GUID-3361448E-5135-5C20-B6D0-133885565EB8" xml:space="preserve">DataBssChunk 64039234, CodeSeg 6403919c</codeblock> <p>The <codeph>DataBssChunk</codeph> field
       
   432 contains a pointer to the <codeph>DChunk</codeph> object representing the
       
   433 chunk that contains the process data and <codeph>.bss</codeph> memory. Be
       
   434 aware that this is not the same as the heap - heaps are allocated to threads,
       
   435 and chunk information is found in the <codeph>DThread</codeph> object. </p> <p>The <codeph>CodeSeg</codeph> field
       
   436 contains a pointer to the <codeph>DCodeSeg</codeph> object that represents
       
   437 the code segment. </p> <p id="GUID-BCFE81CD-1E22-58F9-9370-7CA7EFD4B505"><b>Secure id</b> </p> <codeblock id="GUID-0DF422C0-D066-5A3C-A5CE-EF86F312D6D8" xml:space="preserve">DllLock 64039044, Process Lock 64038eec SID 00000000</codeblock> <p>The <codeph>SID</codeph> field
       
   438 contains the secure id of the process. </p> <p id="GUID-FF5194C1-B2AB-5665-B9DE-EF4AB08BEA3F"><b>Capability</b> </p> <codeblock id="GUID-2C600784-5877-572C-8D7B-5362C6B25998" xml:space="preserve">TempCodeSeg 00000000 CodeSeg 6403919c Capability 00000000 0003ffff</codeblock> <p>The
       
   439 second four bytes of the Capability field contains the set of bits that define
       
   440 the capability for this process. This defines what the process can and cannot
       
   441 do. </p> <p id="GUID-5F4276A9-7EDC-5D5C-840A-06A3EC1903CC"><b>Code segments</b> </p> <codeblock id="GUID-E2E5055C-0C98-533C-AC64-B12AFF22EC20" xml:space="preserve">CodeSegs: Count=0</codeblock> <p>The <codeph>CodeSegs:
       
   442 Count</codeph> field contains the number of code segments that have been dynamically
       
   443 loaded into the process. This will be zero if the process is XIP. </p> <p id="GUID-E4C48F4E-6EF9-5937-A8DA-6DFA1968557E"><b>Chunks owned by the process</b> </p> <codeblock id="GUID-CA07A45D-8905-55DA-A1B3-140C6B318B82" xml:space="preserve">NumChunks=2
       
   444 0: Chunk 64039234, run 00400000, access count 1
       
   445 1: Chunk 6403613c, run 00600000, access count 1
       
   446 </codeblock> <p>The NumChunks field contains the number of chunks owned by
       
   447 the process. </p> <p>Successive lines contain information about each chunk: </p> <ul>
       
   448 <li id="GUID-632AEB6C-FF47-5139-A6E6-79DAF1E25214"><p>the <codeph>Chunk</codeph> field
       
   449 contains the address of a kernel <codeph>DChunk</codeph> object. </p> </li>
       
   450 <li id="GUID-7E0EA444-2FE0-56D2-AEF5-CA31DAD1A165"><p>the <codeph>run</codeph> field
       
   451 contains the virtual address at which the chunk resides when this is the current
       
   452 process. </p> </li>
       
   453 <li id="GUID-8472FA34-1569-52A3-ABC1-951115A7FA4E"><p>the <codeph>access count</codeph> field
       
   454 contains the reference count of the object. </p> </li>
       
   455 </ul> <p id="GUID-2D147ABB-E9D7-540C-BC98-CB0E9E4B89FF"><b>Shared IO buffer information</b> </p> <codeblock id="GUID-05E4BBE9-CA87-5123-BD2C-49B10DE56295" xml:space="preserve">Process shared IO buffers cookie 0000031d
       
   456 Process has no shared IO buffers
       
   457 </codeblock> <p>This is information about shared IO buffers. The cookie is
       
   458 only really of interest to base engineers. </p> <p id="GUID-9CB0F4F8-C3E9-5108-AB7E-B23057C48BA4"><b>Domain information</b> </p> <codeblock id="GUID-43108D24-448E-5D94-BD4C-D62B59F52633" xml:space="preserve">Domain -1, DACR 55555507</codeblock> <p>This
       
   459 is ARM MMU-specific protection information. Processes have domain -1 and DACR
       
   460 0xFFFFFFFF. </p> </section>
       
   461 <section id="GUID-877907D5-6A04-510B-AE99-C3856A0469E7"><title>Current data
       
   462 section process</title> <p>In the moving memory model the current process
       
   463 could be a fixed process, in which case there is also a current moving process.
       
   464 The current data section process is the current moving process. </p> <codeblock id="GUID-4E0FA397-16BF-581C-93FD-0D10BAE7B1B3" xml:space="preserve">TheCurrentDataSectionProcess=64038d5c</codeblock> <p>This
       
   465 field contains a pointer to the <codeph>DProcess</codeph> object for the current
       
   466 moving process. This line is followed by detailed information about the process
       
   467 itself; the format is the same as that described for the <xref href="GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A.dita#GUID-1E822A8F-3144-509D-A949-BDAF4BB9634A/GUID-2424E413-F2F3-5625-932D-515860911424">Current process state</xref>. </p> </section>
       
   468 </conbody></concept>