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 |
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 |