15.6 Tracking Down Memory-Allocation Problems with CLR Profiler

.NET’s managed environment takes the burden of memory management off developers, but at the cost of a complex infrastructure to handle that management. Objects developers create allocate memory through the Common Language Runtime, and they’re dependent on the CLR to efficiently sweep up memory and outdated objects via garbage collection.

Trying to track down odd memory-allocation problems can be a nasty experience. You might have an application allocating too much memory, or you may have improperly implemented finalizers so that memory is held onto for too long. These sorts of ephemeral issues are impossible to nail down inside debugging environments because IDEs don’t expose the garbage collector’s internals.

Microsoft’s CLR Profiler solves this issue handily by providing developers with a wealth of information on an application’s environment as it relates to memory allocation and object usage, and with many details pertaining to object lifecycle in garbage collection. It works on standalone applications, services, and ASP.NET pages.

CLR Profiler at a Glance

Tool

CLR Profiler

Version covered

2.0

Home page

http://www.microsoft.com/downloads/details.aspx?familyid=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=en

Power Tools page

http://www.windevpowertools.com/tools/75

Summary

Powerful, flexible tool for monitoring your application’s ...

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.