Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Windows Heap Profiler Frontend
C#
Branch: master

DPI / UAC manifest

Crash fix
latest commit 5255e6b896
@kg authored
Failed to load latest commit information.
Properties Various work on improving load performance and reducing memory usage.
ext Fixed a bug in AllocationRanges.Update
.gitignore Code quality cleanups
.gitmodules Make submodules easier to checkout
ActivityIndicator.cs Make submodules easier to checkout
CustomTooltip.Designer.cs Checkpoint
CustomTooltip.cs Make submodules easier to checkout
CustomTooltip.resx Checkpoint
DatabaseFile.cs Actually obey the symbol settings from the symbol settings dialog
DeltaHistogram.cs Make submodules easier to checkout
DeltaList.cs Make submodules easier to checkout
DiffViewer.Designer.cs Can also filter by effective namespace now
DiffViewer.cs Make submodules easier to checkout
DiffViewer.resx Filter textbox pulled out into usercontrol
ErrorListDialog.Designer.cs Report error messages to a hidden-by-default error list dialog so tha…
ErrorListDialog.cs Report error messages to a hidden-by-default error list dialog so tha…
ErrorListDialog.resx Report error messages to a hidden-by-default error list dialog so tha…
FilterControl.Designer.cs Tweaks to treemap layout algorithm
FilterControl.cs Tweaks to treemap layout algorithm
FilterControl.resx Filter textbox pulled out into usercontrol
HSV.cs Make submodules easier to checkout
HeapDiff.cs Make submodules easier to checkout
HeapLayoutView.cs Make submodules easier to checkout
HeapProfiler.csproj DPI / UAC manifest
HeapProfiler.sln Added Fracture as a submodule
HeapRecording.cs Make submodules easier to checkout
HeapSnapshot.cs Make submodules easier to checkout
HeapViewer.Designer.cs Checkpoint
HeapViewer.cs Make submodules easier to checkout
HeapViewer.resx Tweaks
LICENSE First Commit
MainWindow.Designer.cs Make submodules easier to checkout
MainWindow.cs Make submodules easier to checkout
MainWindow.resx Filter textbox pulled out into usercontrol
ModuleSelector.Designer.cs Checkpoint: Generating diffs from the database, but symbol caching is…
ModuleSelector.cs Module filtering now treats 0 selected modules the same as all module…
ModuleSelector.resx Checkpoint: Generating diffs from the database, but symbol caching is…
Program.cs Make submodules easier to checkout
README.md Updates to the readme
Settings.cs Make submodules easier to checkout
SnapshotTimeline.cs DPI / UAC manifest
StackFiltersDialog.Designer.cs Stack filtering partially implemented
StackFiltersDialog.cs Make submodules easier to checkout
StackFiltersDialog.resx Stack filtering partially implemented
StackGraph.cs Can also filter by effective namespace now
SymbolSettingsDialog.Designer.cs Some tweaks
SymbolSettingsDialog.cs Make submodules easier to checkout
Treemap.cs Visual tweaks
UMDH Input Sample.txt Checkpoint
Util.cs Make submodules easier to checkout
app.config DPI / UAC manifest
app.manifest DPI / UAC manifest
icon.ico Added support for associating .heapdiff files with Heap Profiler and …

README.md

Heap Profiler

This is a graphical frontend for the UMDH and GFlags tools included in Microsoft Debugging Tools for Windows, written in C#. It automates the process of capturing heap allocation snapshots for a running application, and provides viewing and filtering tools for analyzing those snapshots.

Usage

You'll need Windows SDK 7.1, along with the 32-bit version of Microsoft Debugging Tools for Windows. If you have the former, you will automatically be prompted to install the latter. Run it, select an executable to profile, provide any arguments if needed, and hit Launch. Click 'Capture Now' to capture a snapshot at any time, or turn on 'Auto Capture' to capture a snapshot every 5 seconds. Please note that capturing heap information requires running as administrator (saved captures can be viewed without administrator, though) Once you have some captures, select two of them from the list and click the 'Diff Snapshots' button to generate a diff of the two snapshots and open it in the viewer. You can also select a single point of time and click 'View Selection' to view the heap at that time. You can save a collection of captures to a folder via the file menu for access later. The saved captures include symbol information so you can successfully examine them on other machines. The filtering controls in the various viewer interfaces can be used to filter allocations by function name and/or module name. Just type to filter (the filter control is colored red if the filter is invalid, and yellow if it is valid).

Building

You'll need Visual C# 2010 to compile Heap Profiler (it requires C# 4). You can use either the Express edition of Visual C# or the retail version. The library dependencies are included as git submodules in the ext folder.

Something went wrong with that request. Please try again.