Given a virtual address, the procedure for determining who owns and is using this memory essentially amounts to the following steps:
Fortunately this task is reduced in complexity because of the M or match option that exists with both the .MO and .MA commands.
.MOM addr will display the VMOB of a pseudo-object that matches the addr if it exists. PTDAs are pseudo-objects and their addresses are listed by the .P command.
.MAM addr will search for all arena records whose address range encompasses addr. Under the kernel Debugger this search is restricted to the current context unless the A option (all contexts) is also specified. Under the dump formatter A in always in effect.
The C option further reduces the effort. This is the chain option and is applicable to .MO, .MA, .MC and .ML commands. Chaining formats all VMOBs, VMARs, VMCO and VMALs that are chained from each VMAR associated with the VM control block being formatted.
.MAMC (or .MAMAC under the DF) are the default options if just .M is specified. Furthermore the matching address defaults to the current CS:EIP.
The following sections illustrate memory ownership in:
Shared Arena Global Data
Shared Arena Instance Data
Private Arena Shared and Private Data
Physical Storage.
Further examples in memory management exploration, including looking at aliasing may be found in Exploring Memory Management.