Search code examples
c#asp.netiis-7.5c#-2.0asp.net-2.0

How to find the deadlock in ASP.Net Website


I am using .Net 2.0 and my site seems to reach the deadlock state at certain period. It stops working until I recycle the application pool or change something in web.config file. I think deadlock is causing this issue.

I am wondering if there is any tool to debug/check the site to find the code that could be causing the deadlock.

Right now I had to set recycling interval to 10 minutes which is really bad but it is the only way to solve the problem and there is a lot of codes on the site and I need to find the problem. If I use DOS attack tool, can I find the page/code block that is causing this issue? If I can, what is the best tool to test it?

Cheers!

EDIT I tried to check the Event Logs and found the following warning. I don't know if it is issue will keep digging now. Exception information: Exception type: HttpException Exception message: Request timed out.


Solution

  • I would attach visual studio to IIS and break the debugger when a deadlock occurs. You can then inspect the call stack of the running threads.

    Code Project has a nice article on how to do IIS remote debugging.

    Of course, you can very well set up up a test machine with a local IIS and local Visual Studio .NET and do this without the need to remotely debug.