MemLeak 1.0.0

dotnet tool install --global MemLeak --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MemLeak --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MemLeak&version=1.0.0
                    
nuke :add-package MemLeak --version 1.0.0
                    

MemLeak

A x-plat command line tool that generates a simple visual representation of strongly connected components- which could be an indication of a potential memory leak. Especially helpful when application is walking the bridge between managed and unmanaged memory.

How to use MemLeak

sample command: analyze -dump="20230729_134428_16855.gcdump"

From a functional perspective

  • input: path to app (our use case specifically MAUI app)
  • process:
    • run app
    • invoke new mono supported dotnet-gcdump
    • collect the dump/report
    • use inspo from PerfView/VS/Tarjan's algo to detect strongly connected cycles
  • output: from cycle analysis, present objects that are culprits for the cycles
    • initial iteration: just display details of cycle
    • [wip] using something like graphviz or a console library to diagram the cycle
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.0 231 2/14/2024