CLRProfiler V4 Released


 

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

http://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:

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


Comments (10)

  1. Michael Russell says:

    I'm honestly surprised how little notice this has received.  Thanks for letting us know about it.

  2. Gavin says:

    You mention source being available … where is that again?

  3. davbr says:

    Both source and binaries are available from the same download link I posted above in this blog entry

  4. Marcin says:

    What's the license on the code ?

    Can I modify and put it on github ?

  5. davbr says:

    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).

  6. Marcin says:

    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 ?

  7. Abhishek Mondal says:

    @Marcin

    We will not make any changes to the license for this release. We may consider it in a future release of this product.  

  8. Saulius says:

    What about .NET 4 Update 1? When there will be update to CLR profiler?

    Thanks

  9. davbr says:

    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

  10. Daniel says:

    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!