Export (0) Print
Expand All

Determining DLL Address Mapping in a Process (Windows CE 5.0)

Windows CE 5.0
Send Feedback

When you are using target control debugging commands, you may need to determine which dynamic-link library (DLL) is mapped to a specific address in a process. For more information on syntax, see Target Control Debugging Commands.

To determine which DLL is mapped to a specific address in a process

  1. Subtract the process base address from the address of interest.
  2. The process base address is shown within the output of mi full as the slot base.
  3. Use the gi mod command to obtain the address of all modules loaded in the system and view the dwVMBase column.
  4. View the output of gi mod for a module that covers the address you calculated in step 1.
  5. Look up the resulting address in the dwVMBase column of the gi mod output.

Example

In this example, Unimodem.dll is the user of the page.

For example, to determine what DLL is using the page at 0x9db00000 within Device.exe, subtract the process base address from the address of interest.

0x09db0000 - 0x08000000 = 0x01db0000

The following example shows a truncated version of the table output using mi full for the Device.exe process.

Memory usage for Process 80209c74: 'device.exe' pid 3
    Slot base 08000000  Section ptr 817d5000
    09d90000(0): -CCCCCWr-
    09db0000(0): -CCCCCW-R-
    09dc0000(0): -CCCCCWrR-

The following example shows a truncated version of the output of the gi mod command.

MOD: Name            pModule :dwInUSE :dwVMBase:CurZone
M00: unimodem.dll    816a9d08 00000008 01db0000 00000000
M01: TAPI.DLL        8173f000 00000008 01dc0000 00000000
M02: IR.DLL          8173f290 00000020 01cd0000 00000000
M03: keybddr.dll     8173f468 00000020 01d30000 00000000

See Also

Target Control Debugging Commands | Tools for Debugging and Testing


Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.


Show:
© 2015 Microsoft