gitmyhub

MemMapExplorer

C++ ★ 86 updated 6d ago

MemMap Explorer: WinDirStat-style treemap UI for MAP/ELF symbol and memory layout analysis on Windows.

A Windows desktop tool that visualizes how a compiled program is laid out in memory as an interactive treemap and tree view, like WinDirStat for code and data instead of files on disk, supporting MAP and ELF binary formats.

C++MFCVisual Studiosetup: moderatecomplexity 2/5

MemMap Explorer is a Windows desktop application that shows how a compiled program is laid out in memory, using the same visual style as WinDirStat, a popular tool for visualizing hard disk usage. Instead of showing which files take up space on a drive, it shows which parts of a compiled program (functions, variables, libraries) take up space in memory, displayed as a proportional block diagram alongside a tree view.

The tool imports two types of files that compilers and linkers produce: MAP files, which describe the memory addresses where each function and data block lives, and ELF files, the standard binary format used in embedded systems and Linux. Once imported, the data appears as a tree on the left and a treemap on the right, making it easy to see at a glance which parts of the code are largest.

A right-hand details panel shows structured information about any selected item: its address, size, and the names of the sections or objects it belongs to. When debug information is available in a format called DWARF, the tool can also map specific memory addresses back to source code lines.

The primary audience is embedded systems and firmware developers who need to understand where code and data live in a device with limited memory, as well as anyone doing binary size analysis or reverse engineering on compiled programs.

Building the application requires Visual Studio with C++ desktop and MFC support on Windows. The project is a modified derivative of the open-source WinDirStat codebase and is distributed under the GPL-2.0 license.

Where it fits