DevHealth Memory Use Tool (Compact 7)


DevHealth is a memory-reporting tool that you run on a Windows Embedded Compact powered device with or without establishing a connection between your development computer and your device. By using DevHealth, you can take a snapshot of virtual memory and generate an overview of the memory footprint of the device. DevHealth produces text file reports that you read with a text file viewer. These reports include:

  • System Memory Report: Lists the amount of memory on the device and how it is being used.
  • System Memory Map Report: Shows the page types of the virtual memory that is being used by each process.
  • Process Report: Lists the number of pages of virtual memory that are being used by each process.
  • Module Report: Lists the number of pages of virtual memory that are being used by each DLL module.
  • Heap Report: Provides information on each heap that is being used by each process.
  • Dependency Report: Lists the module reference counts for all processes and DLL modules that are loaded into memory.

Use DevHealth to monitor the memory use of a device or as the starting point for investigations into memory leaks. For example, to monitor device or application memory use over a long period of time, run DevHealth at 15-minute intervals with the timer option. You can then analyze the individual output files. You can also use DevHealth for memory leak investigations by comparing DevHealth reports before and after a complex scenario. An unexpected increase in the program memory use may indicate potential memory leaks. Note that DevHealth reports memory use on a module-by-module and process-by-process basis and does not provide more specific details about individual memory allocations. However, this information may help you narrow down memory leaks to processes or modules. At that point, you can use other tools such as Remote Resource Leak Detector in Windows Embedded Compact Remote Tools Framework to find exactly where the memory leaks are located in the source code.

Other Windows Embedded Compact 7 tools may generate data similar to what DevHealth generates. For example, you can use Performance Monitor in Remote Timeline Viewer or Remote Resource Consumer in Remote Tools Framework to monitor system memory use. The Target Control Debugging: mi Command in Platform Builder also generates memory map data. However, those methods require a connection between your development computer and your device, and they report less detailed memory use information than DevHealth. DevHealth is not designed to replace these other tools, but to provide an additional option. You should select your tool based on your needs.