.NET Debugging Demos
This is a series of debugging demos aimed to help you get some hands on experience in debugging the most common types of Hang/performance, memory and crash scenarios in .net applications.
The demos are written in ASP.NET which means that you do need IIS and .net framework 2.0 installed on the development machine where you install the demos.
Each new demo will have a set of instructions on how to get started but the lab instructions are deliberately kept very brief in order to give you the most chance to explore on your own. Hints will be available for each demo in case you get stuck.
New demos will be published on http://blogs.msdn.com/Tess as time permits (I am planning to release one new lab per week).
All demos will use the same web site so there is only one application to install for all demos.
Note: These demos will cause high CPU usage, high memory consumption and crashes, so make sure that you are only installing these demos on development machines where no one else will be bothered by the system hanging or the web server crashing.
1. Download the demo site (attached to this post) and unzip the files to a folder on your harddrive. (Rev: just uploaded a new version that shouldn't require 3.5)
2. Set up a new virtual directory in IIS called BuggyBits
3. Browse to the default site http://localhost/BuggyBits/default.htm to make sure that you set up the vdir correctly.
4. Browse to the Company info site http://localhost/BuggyBits/CompanyInformation.aspx to make sure that you can view aspx pages correctly.
5. Download and install the debugging tools for windows from http://www.microsoft.com/whdc/devtools/debugging/default.mspx
6. Run the InternetConnections.reg file by double-clicking it to change the number of outgoing connections you can make to the same site in Internet Explorer (note: any registry modification are done at your own risk, if you feel uncomfortable with this you can view the regfile in notepad and make the changes manually)
7. Install tinyget (comes with the IIS6.0 resource kit http://support.microsoft.com/kb/840671 ) we will be using this for stressing some of the pages in order to produce hangs and memory leaks.
Terminology and tools
Each demo/lab will assume that you are familiar with the following:
.symfix c:\mycache .reload
where c:\mycache is where it will store the local copies of the cached symbols. If you choose to save workspace information when asked in windbg, this symbol path will be saved for the next debugging session.
Some familiarity with the sos commands and windbg is also useful. The following articles may be useful to use as reference material:
Getting started - Part I
Getting started - Part II
awesome, hope the presentation at the .net user group goes well:)
Enkelt svar hoppas jag... Jag tänkte visa ett exempel på hur ni kan debugga en låg cpu hängning i asp.net
I know that perhaps not that many of you know Swedish, but for those of you who do, you might want to
Thanks to everyone who attended my talk! Here's some links related to the talk: My PowerPoint Presentation...
I still have to figure out a way to host the video from the break-out session but until then, here are
really good article!!!!
it helps a lot.
A WinDbg Debugging Journey - NHibernate Memory Leak
Thank you very much on these excellent labs and TechEd presentation! In a few days I'll demo couple of labs on Web-Fu! which is the major ASP.NET event in Serbia. It would be impossible without your posts!
If we set the IIS as per step 6, (InternetConnections.reg file ), then should we undo this setting for normal operations ?
No need to undo them. This setting just allows you to make 10 concurrent outgoing connections to the same server instead of the standard 2.
I've just finished writing up an e-mail for some new people in my team about starting Debugging and the
I want to Implement this Demo Lab
1. I have Installed IIS 5.1 on my winxp OS
2. Created Virtual Directory Buggybits
3. When I type HTTP http://localhost/BuggyBits/default.htm
getting the error below,( I have checked the Directory Security and anonymous access is enabled.)
401.3 - Access denied by ACL on resource
Internet Information Services
How to get rid of this 401.3 error
The message pretty much means what it says, the aspnet account doesnt have access to read from the location on your disk where you stored the content.
You would either have to give it permissions or put the content directly under inetpub/wwwroot in a BuggyBits folder
Gave Permissions, Issue Resolved Thanks Tess
have anyone done these labs in IIS 7 ? The labs specify the usage of some tools for IIS 6 ... not sure if those tools can be installed and used in IIS 7, any ideas ?