Target Control Debugging: gi Command (Windows CE 5.0)
This command gets information on processes or processes with threads; modules; critical sections that have threads waiting; and events.
giproc | thrd | mod | delta | all
Options
- proc
Lists all processes in the system. - thrd
Lists all processes with their threads. - mod
Lists all modules loaded. - delta
Lists only those threads that have changes in CPU times. - all
Default, lists all of the preceding parameters.
Remarks
When a process loads a dynamic-link library (DLL), virtual pages are allocated within the process address space to map to the DLL. If multiple processes map to the same DLL, each separate process has an individual allocation of virtual memory that can be mapped to the DLL. This occurs even though each process shares the same physical page.
Each process in the system exists in a 32M chunk of virtual space. Within this space, a DLL is always loaded in the upper 16M of memory. Thus, when looking at the output of mi full, any virtual page that is allocated in the upper 16M of a process virtual space can be attributed to a DLL that the process is using.
By using the gi mod command, you can obtain a list of DLLs loaded in the system and their base addresses within the system. By using this base address and a process's base address, you can then determine which DLL is using which page within a process virtual space.
Within the table for a particular process, pages in which the second nibble of the address is odd are attributable to a DLL that is being mapped in.
For example, 0x0f000144 is an address mapped to a DLL, whereas 0x0e000144 is not.
For information about how to determine which DLL is mapped to a specific address in a process, see Determining DLL Address Mapping in a Process.
Example
The following command example shows how to display information about running processes.
gi proc
See Also
Debugging Resources Overview | Target Control Window
Send Feedback on this topic to the authors