IIS Debugging Labs – Information and setup instructions

These labs provide a group of debugging scenarios focused on helping you get some hands on experience in debugging the most common type of IIS issues. For example, hang/performance, crash and memory issues.

Installation

These labs are focused IIS 8.5, but can be run on the following versions of IIS

IIS Version Operating System
IIS 10 Windows Server 2019
IIS 10 Windows Server 2016
IIS 8.5 Windows Server 2012 R2
IIS 7.5 Windows Server 2008 R2
IIS 6 Windows Server 2003

Test project – CSharpGuitarBugs

The labs utilize an ASP.NET MVC web application hosted on GitHub here. This ASP.NET MVC web application is based on version 5 using Visual Studio 2015, therefore in Lab 2, you need to install the appropriate supporting MVC libraries and .NET Framework.

Visual Studio Version .NET Version ASP.NET MVC Version ASP.NET Version ASP.NET Core Version
2008 3.5 1.0 3.5
2010 4.0 2.0 / 3.0 4.0
2012 4.5 4.0 4.5
2013 4.5.* 5.0 4.5.*
2015 4.6 5.0 4.6 1.0
2017 4.7 5.0 4.7 2.0
2019 4.8 5.0 4.8 3.0

Labs

Lab instructions Location
Lab 1: Install IIS and create a website Lab 1 √
Lab 2: Install the Web Platform Installer Lab 2 √
Lab 3: Install and configure Application Initialization Lab 3 √
Lab 4: Install and configure Failed Request Tracing Lab 4 √
Lab 5: Basic and Advanced Application Pool settings Lab 5 √
Lab 6: Using HTTP, W3SVC, WAS and W3WP Lab 6 √
Lab 7: Using Integrated vs. Classic mode Lab 7 √
Lab 8: PowerShell WebAdministration (update for IIS 10) Lab 8 √
Lab 9: Using AppCmd Lab 9 √
Lab 10: Using ASP.NET Tracing (Trace=“True“) Lab 10 √
Lab 11: aspnet_regiis Lab 11 √
Lab 12: IntelliTraceCollector Lab 12 √
Lab 13: LogParser Lab 13 √
Lab 14: ETW Tracing / PerfView
Lab 15: Debug Diagnostics Lab 15 √
Lab 16: Failed Request Tracing, Capture memory dump Lab 16 √
Lab 17: TBD
Lab 18: WinDbg – Crash Lab 18 √
Lab 19: WinDbg – High CPU Hang Lab 19 √
Lab 20: WinDbg – Low CPU Hang Lab 20 √
Lab 21: WinDbg – Memory consumption Lab 21 √
Lab 22: Deploy a custom Module and Handler Lab 22 √
Lab 23: Troubleshooting 400 and 404 Lab 23 √
Lab 25: Troubleshooting 500
Lab 26: Troubleshooting 503
Lab 27: SSL Certificate Troubleshooting
Lab 28: The impact of debug=true Lab 28 √
Lab 29: HTTP Caching
Lab 30: IIS Caching