diff -r ebc84c812384 -r 46218c8b8afa Symbian3/PDK/Source/GUID-772C2721-DD84-54A6-ACE0-ECACC6432B95.dita --- a/Symbian3/PDK/Source/GUID-772C2721-DD84-54A6-ACE0-ECACC6432B95.dita Thu Mar 11 15:24:26 2010 +0000 +++ b/Symbian3/PDK/Source/GUID-772C2721-DD84-54A6-ACE0-ECACC6432B95.dita Thu Mar 11 18:02:22 2010 +0000 @@ -1,81 +1,81 @@ - - - - - -Kernel -Objects and Containers Information CommandsDescribes how to use the c and o commands -to get information about kernel objects. -
Kernel objects

Kernel -objects such as DProcess, DThread, DSemaphore, DChunk are -all instances of classes derived from DObject.

To -show basic information about a DObject, use the o command.

To show more detail, use the O command.

As an example, use these commands to show information -about a DProcess object whose address is shown using the i command:

... -TheCurrentDataSectionProcess=6403bb4c -...

o 6403bb4c

This gives:

.o 6403bb4c -PROCESS at 6403bb4c VPTR=f8046c78 AccessCount=6 Owner=00000000 -Full name crash -

All objects derived from DBase have a virtual -table pointer, access count, owner and name. Using the O command on this address would you give you the full process information.

You -can use o to -examine other types of objects, for example chunks. The thread information -for the current data section process shows two chunks:

NumChunks=2 -0: Chunk 6403c044, run 00400000, access count 1 -1: Chunk 64039688, run 00600000, access count 1 -

Using the o command -on the first of these chunk objects gives you the basic information:

.o 6403c044 -CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c -Full name crash::$DAT -

Using the O command -gives you more detailed information:

.q 6403c044 -CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c -Full name crash::$DAT -Owning Process 6403bb4c -Size 2000, MaxSize 200000, Base 00400000 -Attrib 6, StartPos 0 -Type 6, State 2, Home Base 68900000 -Home Region Offset 00000000 -Home Region Base 68900000 -Home Region Size 00100000 -PTE: 0000055e, PDE: 00000021 00000001 00000001 -NumPdes=1, iPdes=61000010, iHomePdes=61001a24 -PdeBitMap=00000001, PageBitMap=6403c0c8 -Domain -1 -

The information displayed is memory model dependent. -It is shown here for the moving memory model.

Notes:

    -
  • Size 2000, MaxSize 200000, Base 00400000

    The Size field shows the current size of the chunk, -in bytes.

    The MaxSize field shows the maximum size -of the chunk, in bytes.

    The Base field shows the -base address in the run region.

  • -
  • Attrib 6, StartPos 0

    The Attrib field shows the attributes of the chunk.

    The StartPos field -shows the offset, in bytes, between the base address and the start of the -committed area. This is non-zero for double-ended chunks only.

  • -
  • Type 6, State 2, Home Base 68900000

    The Type field shows the type of chunk. This corresponds -to a TChunkType enum value.

    The State field -shows the current state of the chunk. This corresponds to a TChunkState enum -value, which is itself defined within the scope of the Symbian OS internal -class DMemModelChunk.

    The Home Base field -is the base address of the chunk in the home region.

  • -
  • Home Region Offset 00000000 -Home Region Base 68900000 -Home Region Size 00100000 -

    These three lines show the offset, base address and size (the -reserved size) of the chunk in the home region.

  • -
-
Kernel containers

Internally, -the kernel maintains lists of all current objects, organized by type. Each -list is a container, a DObjectCon object, with one for each -object type.

The c command -will walk through all objects in a given list. The type of object is identified -by appending a number after the command. For example, DProcess objects -are identified by the number 1, so to walk through all current DProcess objects -type:

c1

The command effectively executes -a O command -on each object in the "processes" container.

+ + + + + +Kernel +Objects and Containers Information CommandsDescribes how to use the c and o commands +to get information about kernel objects. +
Kernel objects

Kernel +objects such as DProcess, DThread, DSemaphore, DChunk are +all instances of classes derived from DObject.

To +show basic information about a DObject, use the o command.

To show more detail, use the O command.

As an example, use these commands to show information +about a DProcess object whose address is shown using the i command:

... +TheCurrentDataSectionProcess=6403bb4c +...

o 6403bb4c

This gives:

.o 6403bb4c +PROCESS at 6403bb4c VPTR=f8046c78 AccessCount=6 Owner=00000000 +Full name crash +

All objects derived from DBase have a virtual +table pointer, access count, owner and name. Using the O command on this address would you give you the full process information.

You +can use o to +examine other types of objects, for example chunks. The thread information +for the current data section process shows two chunks:

NumChunks=2 +0: Chunk 6403c044, run 00400000, access count 1 +1: Chunk 64039688, run 00600000, access count 1 +

Using the o command +on the first of these chunk objects gives you the basic information:

.o 6403c044 +CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c +Full name crash::$DAT +

Using the O command +gives you more detailed information:

.q 6403c044 +CHUNK at 6403c044 VPTR=f8046b50 AccessCount=1 Owner=6403bb4c +Full name crash::$DAT +Owning Process 6403bb4c +Size 2000, MaxSize 200000, Base 00400000 +Attrib 6, StartPos 0 +Type 6, State 2, Home Base 68900000 +Home Region Offset 00000000 +Home Region Base 68900000 +Home Region Size 00100000 +PTE: 0000055e, PDE: 00000021 00000001 00000001 +NumPdes=1, iPdes=61000010, iHomePdes=61001a24 +PdeBitMap=00000001, PageBitMap=6403c0c8 +Domain -1 +

The information displayed is memory model dependent. +It is shown here for the moving memory model.

Notes:

    +
  • Size 2000, MaxSize 200000, Base 00400000

    The Size field shows the current size of the chunk, +in bytes.

    The MaxSize field shows the maximum size +of the chunk, in bytes.

    The Base field shows the +base address in the run region.

  • +
  • Attrib 6, StartPos 0

    The Attrib field shows the attributes of the chunk.

    The StartPos field +shows the offset, in bytes, between the base address and the start of the +committed area. This is non-zero for double-ended chunks only.

  • +
  • Type 6, State 2, Home Base 68900000

    The Type field shows the type of chunk. This corresponds +to a TChunkType enum value.

    The State field +shows the current state of the chunk. This corresponds to a TChunkState enum +value, which is itself defined within the scope of the Symbian OS internal +class DMemModelChunk.

    The Home Base field +is the base address of the chunk in the home region.

  • +
  • Home Region Offset 00000000 +Home Region Base 68900000 +Home Region Size 00100000 +

    These three lines show the offset, base address and size (the +reserved size) of the chunk in the home region.

  • +
+
Kernel containers

Internally, +the kernel maintains lists of all current objects, organized by type. Each +list is a container, a DObjectCon object, with one for each +object type.

The c command +will walk through all objects in a given list. The type of object is identified +by appending a number after the command. For example, DProcess objects +are identified by the number 1, so to walk through all current DProcess objects +type:

c1

The command effectively executes +a O command +on each object in the "processes" container.

\ No newline at end of file