.NET Profiling Tools

Possible duplicate:
What are some good .NET profiles?

I am looking for good .NET CLR memory profiling tools.

My key requirement is that it will work well with IIS and standalone CLR applications. Ideally, I would see which objects are selected, where are they selected and what size are they?

Does anyone have good experience with a specific tool that you would recommend with pleasure?

+45
profiling
Dec 30 '09 at 9:20
source share
9 answers

I am currently evaluating both Scitech.NET Memory Profiler 3.1 and ANTS Memory Profiler 5.1 . I tried JetBrains one year or two ago, and it was not as good as ANTS, so I was not worried this time. From reading websites, it seems that this is not as good for memory profiles as the other two.

Both ANTS and the Scitech memory profiler have features that the other does not have, so it will best depend on your preferences. Generally speaking, Scitech provides more detailed information, while ANTS is really incredible in identifying a leaking object. All in all, I prefer ANTS to one because it quickly detects possible leaks.

Here are the main pros and cons of each of my experiences:

Common Functions of ANTS and Profit Profession.NET Scitech

  • Real time analysis function
  • Great practical videos on their websites.
  • Ease of use
  • Reasonable performer (obviously slower than without a profiler, but not so much disappointing you).
  • Show instances of leaking objects
  • Basically they both do a good job

Ants

  • One-click filters to find common leaks , including: objects stored only by event handlers, objects that are located but still alive, and objects that are only supported by a link from the located object, This is probably the ANTS killer function - Because of this, leak detection is incredibly fast. In my experience, most leaks are caused by event handler processing, and ANTS just directs you directly to these objects. Tall.
  • Schedule saving objects. Although the same information is available in Scitech, it is much easier to interpret in ANTS.
  • Shows the size with children in addition to the size of the object itself (but only when the instance is selected, unfortunately, not in the general list of classes).
  • Improved integration with Visual Studio (right-click on the graph to go to the file)

Scitech.NET Memory Profiler

  • Shows the stack trace when the object was selected. This is really useful for objects that stand out in different places. With ANTS, it is difficult to pinpoint where the leaked object was created.
  • Shows the number of disposable objects that have not been deleted. Although this does not indicate a leak, it identifies opportunities to fix this problem and improve the performance of your application as a result of faster garbage collection.
  • More detailed filtering options (multiple columns can be filtered independently).
  • Represents information about shared objects created (including garbage collected). ANTS shows only live statistics of an object. This simplifies the analysis and tuning of the overall application performance (for example, indicate where there are many unnecessary objects that do not necessarily leak).

As a summary, I think that ANTS helps you quickly find out what is happening, while Scitech provides more detailed information about your overall application memory performance and individual objects as soon as you know what to look at (for example, stack trace when creating ) If stack tracing and tracking of unrelated disposable objects was added to ANTS, I would not see the need to use anything else.

+44
Sep 25 '09 at 2:55
source share

It is strange that the CLR Profiler is not mentioned here. It is free and works well.

Beware of several older versions available on Microsoft's own website. As of November 2011, the latest version is as follows: latest version (alternative link)

+31
Jun 16 '11 at 12:50
source share

If you feel desperate, you can use WinDbg with the Son-of-Strike library (SOS.DLL) that comes with the .Net card.

+8
Sep 25 '09 at 2:59
source share

Big fan of JetBrains Profiler himself

+6
Dec 30 '09 at 9:26
source share

. Profiler 's clean memory has helped me a lot in my previous project. It is not free, but it is very good.

The .NET Memory Profiler is a powerful tool for detecting memory leaks and optimizing memory usage in programs written in C #, VB.NET or any other .NET language.

+5
Dec 30 '09 at 9:23
source share

I second ANTI profiler .

Besides showing everything you need, he will draw a simple graph where you can see what takes the most time and what the memory eats. When you click on the chart, it will show you the corresponding line in your code.

And I like litle progress bugs drowning in lines of code that run too long.

+5
Dec 30 '09 at 11:25
source share

I am currently using ANTI Profiler . It is a very good tool with many detail profiling options and works well with standalone applications, development server, and IIS.

+4
Dec 30 '09 at 9:47
source share

Since all of the listing tools are available, I thought I would give you a complete list of profilers for .NET: http://sharptoolbox.com/categories/profilers-debuggers

You will find there the tools offered here, and all the others, each of which has a brief description of what it offers.

+4
Oct 23 '09 at 9:12
source share

I have used Aqtime with great success over the years. I tried ANTS and others, but returned to Aqtime, since I am also developing unmanaged code.

+1
Jan 03 '09 at 12:03
source share



All Articles