views:

69

answers:

3

Without using any third-party tools, how can you determine if an ASP.NET application (.NET 3.5) has any memory leaks? I want to make sure that an app that was developed by someone else is running okay. I would assume using performance counters but which one(s) are the right ones to use to see if the app has memory leaks?

+3  A: 

You want to use:

Debug Diagnostic Tool

Description from Microsoft website:

The Debug Diagnostic Tool (DebugDiag) is designed to assist in troubleshooting issues such as hangs, slow performance, memory leaks or fragmentation, and crashes in any user-mode process. The tool includes additional debugging scripts focused on Internet Information Services (IIS) applications, web data access components, COM+ and related Microsoft technologies.

Free download and instructions on how to use it are all located on the linked page.

This link might also be of use:

How to use the IIS Debug Diagnostics tool to troubleshoot a memory leak in an IIS process

Kelsey
+1  A: 

The CLR Profiler (see the section "Identifying Where Your Application Allocates Memory").

Travis Heseman
+1  A: 

If you want to really learn how to use Debug Diagnostic Tool you should read Tess Ferrandes blog, she is an ASP.Net escalation engineer and writes useful articles about how to diagnose common issues in ASP.Net applications with those tools.

Hope it helps!!!

Carlos Mendible