1

fremag/MemoScope.Net

 3 years ago
source link: https://github.com/fremag/MemoScope.Net
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

MemoScope.Net

Dump and analyze .Net applications memory

Please, read the wiki to know everything about MemoScope. Lot of pictures, animated gifs and some text for every major features.

What it MemoScope.Net ?

It's a tool to analyze .Net process memory: it can dump an application's memory in a file and read it later. The dump file contains all data (objects) and threads (state, stack, call stack)

MemoScope.Net will analyze the data and help you to find memory leaks and deadlocks

Thanks to Lee Culver for his ClrMd library, without it, MemoScope.Net would not exist.

Install

Get binaries from AppVeyor: x86 x64

Use cases

Out of Memory

I know, with 64 bits apps it should not be an issue but computers only have a few a few Go so it may still happen if your application :

  • is using too much memory (peak)
  • runs for days and has a "slow" memory leak

Dead lock

If your application is locked and you want to know where and why: dump the memory, display the threads status and blocking objects to see what thread is holding one that is waited by another thread.

Hard to reproduce bug

Sometimes, users can do weird things with your application and you can't make it happen on your computer so ask the user to dump its application's memory to analyze it on your machine.

Features

Heap statistics

memoscope_typestats.png

Query instances

memoscope_instances_filter.png

Instances content and references

memoscope_instance_details.png

Compare dumps

memoscope_dumpdiff.png

Threads, Stacks

memoscope_threads.png

Deadlocks

memoscope_deadlocks.png

Delegates

memoscope_delegates.png

Dump process memory

Dump Process Memory

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK