Web Debug

Fix broken web applications, from servers to clients.

Troubleshoot SSL issues

Troubleshooting SSL related issues (Server Certificate)
Published on April 9, 2012 by Kaushal Kumar Panday

This document will help you in troubleshooting SSL issues related to IIS only. Client Certificates troubleshooting will not be covered in this document. Server Certificates are meant for Server Authentication and we will be dealing only with Server Certificates in this document.
If the Client certificates section is set to “Require” and then you run into issues, then please don’t refer this document. This is meant for troubleshooting SSL Server certificates issue only.
It is important to know that every certificate comprises of a public key (used for encryption) and a private key (used for decryption). The private key is known only to the server.
The default port for https is 443.


Collect WinINET trace

Windows 7 or above

(Optional) Clear IE cache
1. Start command line with elevated privilege
2. Execute command
netsh trace start scenario=InternetClient level=5 capture=yes report=yes fileMode=single maxSize=0 correlation=yes tracefile=c:\temp\trace.etl
3. Reproduce the issue
4. Stop tracing with command
netsh trace stop
5. Trace is generated in c:\temp with two files below

Collect IIS high CPU dump with procdump

1. Download procdump from http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
2. Create a folder for saving the dumps like c:\dumps
3. Start a command prompt and switch to the procdump folder.
4. Run the command in command line (Generate 3 dumps if CPU is above 80% for more than 20 seconds)
procdump -c 80 -s 20 -n 3 -ma -o {PID of the high cpu w3wp process} c:\dumps

1. If application pool recycles, w3wp process stops (crash or auto stop due to idle), need to rerun the command when the process starts again
2. User session cannot logout
3. !runaway information may lost from dumps, work around http://forum.sysinternals.com/procdump-12-and-runaway_topic19909.html

Collect performance counter for .Net web application

1. Execute the following command line to create the performance logs (need admin privilege)
logman.exe create counter MSPerf-15Sec -f bincirc -max 500 -c "\Processor(*)\*" "\Memory\*" "\Process(*)\*" "\ASP.Net(*)\*" "\ASP.Net Applications(*)\*" "\.NET CLR Exceptions(*)\*" "\.NET CLR Memory(*)\*" "\.NET CLR Loading(*)\*" -si 00:00:15 -o C:\MSLog\MSPerf-15Sec.blg
2. Start logging with the following command line.
logman.exe start MSPerf-15Sec
3. Execute the following command line to stop the performance collecting.
logman.exe stop MSPerf-15Sec
4. The performance log in generated in folder c:\MSLog

Fork me on GitHub