- Getting approval for licensing and purchase of a 3rd-party tool is an uphill task and you rarely have time to wait for the approval process when it is a production issue.
- I find the feature set of a combination of the free tools gives you the largest "surface area" of features to help. Some are better at strict data collection, others have graphical views, some are static for post-mortem debugging, and others can do real-time analysis.
- Even though these are free, they are very robust and provide just as much data as the paid license tools. A good example of this is WinDbg which was developed in 1993 by Microsoft for in-house debugging of the Windows Kernel.
Free Tools
Advantages
- Duh! It's free
- There are lots of tools to choose from
- All of the ones I've seen are from reputable and well-known companies.
- You can often find blog posts (ahem...), articles, reddit threads, etc. that can provide some direction for getting started.
Disadvantages
- Formal documentation can be lacking. Finding a blog post or article is great but comprehensive detail is often missing or at best glossed over. This can make getting started a bit more of a challenge if the tool is new to you.
- Your company may have restrictions on using free tools for fear of malware, liability, or other reasons.
- Windows Task Manager: taskmgr.exe. Make sure to make the following columns visible:
- Memory - Working Set
- Memory - Private Working Set
- Memory - Commit Size
- Threads
- Handles
- USER Objects (if WinForm or Native app)
- GDI Objects (if WinForm or Native app)
- Windows Performance Monitor: perfmon.exe
- Process Explorer (SysInternals)
- VM Map (SysInternals)
- Debugging Tools for Windows (WinDbg, SOS, Kernel Debugger, etc.)
- Microsoft Debug Diagnostic Tool (DebugDiag)
- Psscor2 - WinDbg debugger extension for ASP.NET 2.0, 3.5
- Psscor4 - WinDbg debugger extension for ASP.NET 4.x
- SOSEX from Steve Johnson (.NET 2.0, 3.5)
- SOSEX 4 from Steve Johnson (.NET 4.x)
- IISInfo - WinDbg debugger extension (included with DebugDiag)
- Microsoft Application Verifier
- CLR Profiler 2.0 (good for finding heap fragmentation)
- CLR Profiler 4.0 (good for finding heap fragmentation)
- Windows Performance Toolkit (xperf)
Licensed Tools
- RedGate Ants Memory Profiler
- Micro Focus DevPartner Studio (formerly Compuware)
- SciTech .NET Memory Profiler
- AQ Time Pro