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