It’s a tool for analyzing memory usage and allocations made by an application and its dependent modules. It also allows to collect information about the memory use at a given time, thus facilitating baseline and comparison between execution environments.
As Developers, we usually wonder about what's the memory layout or memory map of our applications, bearing that in mind I wrote "Memory Inspector", which is a 64 bit application (Executable + Win32 DLL) hosted inside Visual Studio 2010 (32 bit)
via an AddIn and Interop. The core of the solution is a native Win32 DLL which returns information to the managed world as XML that's consumed from WPF. The memory Inspector can perform the following tasks:
1. Inspect memory usage of an application and its dependant modules (Visual)
2. Extract information about functions exported by a given module
3. Memory allocation and protection level of a module plus ability to dumping memory regions
The information collected is in XML so it can be also used for:
• Baselining or comparing how an application behaves in different environments (e.g.: DEV, UAT or SIT).
• Writing an script to get all of the modules required for an application to run.
I've got a roadmap for this tool, and in a future release I would like to incorporate calls to SOS for helping developers to deal with memory leak issues.