CLRProfiler V4 Released

 

CLRProfiler V4 is now publicly available.  You may download from here:

https://www.microsoft.com/downloads/en/details.aspx?FamilyID=be2d842b-fdce-4600-8d32-a3cf74fda5e1

This is of interest both to folks who want a free profiler to diagnose memory issues with their managed apps, and for folks who author profilers of their own, and would like to look at source code of a real-world example of a profiler.

If you just want to run it…

Then the following new features will be of interest to you:

  • CLRProfiler V4 allows you to profile managed code that uses .NET 2.0, 3.0, 3.5, or 4.0.  However, you must always have .NET 4.0 installed on your box in order to use CLRProfiler V4, as CLRProfiler itself contains managed code that depends on .NET 4.0
  • CLRProfiler V4 can target Silverlight 4 apps.
  • CLRProfiler V4 may be used to attach to and detach from live processes, to generate heap graphs.  (Note:  This feature requires the process to be running .NET 4.0, does not work against Silverlight, and does not allow gathering allocation call stacks.)
  • CLRProfiler V4 understands in-process side-by-side CLR instances, and can allow you to pick which CLR instance from a given process to profile.

If you want to write a profiler…

Then you may look through the source code for examples of all the above features, including how to target Silverlight, use the attach / detach API, and how to implement the “pick-one” approach for in-process side-by-side CLR instances.

Also, CLRProfiler V4 consumes the new Enter3/Leave3/Tailcall3 signatures along with FunctionIDMapper2, so you can consult the source for examples of the naked assembly language wrappers.

Problems?

If you encounter problems with CLRProfiler V4, the best place to go is our forum:

https://social.msdn.microsoft.com/forums/en-US/netfxtoolsdev/threads/

Comments

  • Anonymous
    February 20, 2011
    I'm honestly surprised how little notice this has received.  Thanks for letting us know about it.

  • Anonymous
    March 27, 2011
    You mention source being available ... where is that again?

  • Anonymous
    March 27, 2011
    Both source and binaries are available from the same download link I posted above in this blog entry

  • Anonymous
    August 30, 2011
    What's the license on the code ? Can I modify and put it on github ?

  • Anonymous
    August 30, 2011
    re license: When you download, the self-extracing archive will show you the details of the license agreement (you must agree before the extraction process continues).

  • Anonymous
    August 31, 2011
    Thanks for quick response. Unfortunately the license looks complicated and quite unfriendly :( Do you think it would be possible to relicense it under one of more recognized Microsoft licenses like MsPL or MsRL ?

  • Anonymous
    September 01, 2011
    @Marcin We will not make any changes to the license for this release. We may consider it in a future release of this product.  

  • Anonymous
    December 28, 2011
    What about .NET 4 Update 1? When there will be update to CLR profiler? Thanks

  • Anonymous
    December 28, 2011
    Hi, Saulius.  No updates to CLRProfiler are planned until after the next new significant release of the CLR.  Of course, I can't comment publicly on when that will be.  :-) Thanks, Dave

  • Anonymous
    March 15, 2012
    I've been tracking down some esoteric memory "leaks" with ANTS and .NET memory profiler, but only managed to isolate a couple of issues. With the CLR profiler and allocation tracking, pinpointing exact problematic methods was a piece of cake. Great tool!