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 q 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 q 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 q 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: