|
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>Examining kernel objects and containers in Debugging information</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>Kernel Objects</h2> |
|
11 </div> |
|
12 <div> |
|
13 <p>Kernel objects such as DProcess, DThread, |
|
14 DSemaphore, DChunk are all instances of classes |
|
15 derived from DObject.</p> |
|
16 <p>To show basic information about a DObject, use |
|
17 the <a href="CrashDebugger_cmd_o.guide.html" title="The debug monitor and command syntax / o - display brief DObject information">o</a> |
|
18 command.</p> |
|
19 <p>To show more detail, use the |
|
20 <a href="CrashDebugger_cmd_q.guide.html" title="The debug monitor and command syntax / q - display full DObject information">q</a> command.</p> |
|
21 <p>As an example, use these commands to show information about a |
|
22 DProcess object whose address is shown using the |
|
23 <a href="CrashDebugger_cmd_i.guide.html" title="The debug monitor and command syntax / i - display information for the current process and thread">i</a> command:</p> |
|
24 <p class="listing">...<br> |
|
25 TheCurrentDataSectionProcess=6403bb4c<br> |
|
26 ...</p> |
|
27 <p class="listing">> o 6403bb4c</p> |
|
28 <p>This gives:</p> |
|
29 <p class="listing">.o 6403bb4c<br>PROCESS at 6403bb4c VPTR=f8046c78 AccessCount=6 Owner=00000000<br>Full name crash</p> |
|
30 <p>All objects derived from DBase have a virtual |
|
31 table pointer, access count, owner and name. Using the |
|
32 <a href="CrashDebugger_cmd_q.guide.html" title="The debug monitor and command syntax / q - display full DObject information">q</a> command on this |
|
33 address would you give you the full process information.</p> |
|
34 <p>You can use <a href="CrashDebugger_cmd_o.guide.html" title="The debug monitor and command syntax / o - display brief DObject information">o</a> to examine other |
|
35 types of objects, for example chunks. The thread information for the current |
|
36 data section process shows two chunks:</p> |
|
37 <p class="listing">NumChunks=2<br>0: Chunk 6403c044, run 00400000, access count 1<br>1: Chunk 64039688, run 00600000, access count 1</p> |
|
38 <p>Using the <a href="CrashDebugger_cmd_o.guide.html" title="The debug monitor and command syntax / o - display brief DObject information">o</a> command on the first |
|
39 of these chunk objects gives you the basic information:</p> |
|
40 <p class="listing">.o 6403c044<br>CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c<br>Full name crash::$DAT</p> |
|
41 <p>Using the <a href="CrashDebugger_cmd_q.guide.html" title="The debug monitor and command syntax / q - display full DObject information">q</a> command gives you |
|
42 more detailed information:</p> |
|
43 <p class="listing">.q 6403c044<br>CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c<br>Full name crash::$DAT<br>Owning Process 6403bb4c<br>Size 2000, MaxSize 200000, Base 00400000<br>Attrib 6, StartPos 0<br>Type 6, State 2, Home Base 68900000<br>Home Region Offset 00000000<br>Home Region Base 68900000<br>Home Region Size 00100000<br>PTE: 0000055e, PDE: 00000021 00000001 00000001<br>NumPdes=1, iPdes=61000010, iHomePdes=61001a24<br>PdeBitMap=00000001, PageBitMap=6403c0c8<br>Domain -1</p> |
|
44 <p><em> The information displayed is memory model dependent. It is |
|
45 shown here for the moving memory model.</em></p> |
|
46 <p>Notes:</p> |
|
47 <ul> |
|
48 <li> |
|
49 <p class="CodeBlock">Size 2000, MaxSize 200000, Base 00400000</p> |
|
50 <p>The Size field shows the current size of the |
|
51 chunk, in bytes.</p> |
|
52 <p>The MaxSize field shows the maximum size of the |
|
53 chunk, in bytes.</p> |
|
54 <p>The Base field shows the base address in the run |
|
55 region.</p> |
|
56 </li> |
|
57 <li> |
|
58 <p class="CodeBlock">Attrib 6, StartPos 0</p> |
|
59 <p>The Attrib field shows the attributes of the |
|
60 chunk.</p> |
|
61 <p>The StartPos field shows the offset, in bytes, |
|
62 between the base address and the start of the committed area. This is non-zero |
|
63 for double-ended chunks only.</p> |
|
64 </li> |
|
65 <li> |
|
66 <p class="CodeBlock">Type 6, State 2, Home Base 68900000</p> |
|
67 <p>The Type field shows the type of chunk. This |
|
68 corresponds to a TChunkType enum value.</p> |
|
69 <p>The State field shows the current state of the |
|
70 chunk. This corresponds to a TChunkState enum value, which is |
|
71 itself defined within the scope of the Symbian OS internal class |
|
72 DMemModelChunk.</p> |
|
73 <p>The Home Base field is the base address of the |
|
74 chunk in the home region.</p> |
|
75 </li> |
|
76 <li> |
|
77 <p class="CodeBlock">Home Region Offset 00000000<br>Home Region Base 68900000<br>Home Region Size 00100000</p> |
|
78 <p>These three lines show the offset, base address and size (the |
|
79 reserved size) of the chunk in the home region.</p> |
|
80 </li> |
|
81 </ul> |
|
82 </div><div></div> |
|
83 <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> |
|
84 </body> |
|
85 </html> |
|
86 |