Futher debugging using WinDbg is as follows:
When GCE is slow (for example, slow to browse web portal), we can use WinDbg to catch thread info on the GCE server side.
- Download and install WinDbg (https://go.microsoft.com/fwlink/p/?LinkId=536682); during the installation, select the 'Debugging Tools for Windows' checkbox only. You can also download an old build from http://wcbuild.gladinet.com/releases/windbg/X86-Debuggers-And-Tools-x86_en-us.msi.
- Find the corresponding 'SOS.dll' under 'C:\Windows\Microsoft.NET\Framework || Framework64 (based on your OS 32-bit || 64-bit)\ It should be under v4.0.30319 \SOS.dll'.
- Copy 'SOS.dll' to the WinDbg installation folder, together with windbg.exe 'C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 || x86(based on your OS 32-bit || 64-bit)'.
- Start WinDbg as Administrator.
- If you have corresponding pdb file, go to 'File' -> 'Symbol File Path', to define the pdb file path.
- Press F6 to attach to the process. Find 'w3wp.exe' running as user 'namespace'.
- Type 'g' to continue. The command line field will show '*BUSY* Debuggee is running…'.
- Run the operation which causes GCE to be slow.
- When the system is slow, go to WinDbg and select 'Debug' -> 'Break', to break in.
- Type '.load SOS.dll', then '~*e!ClrStack' to collect thread info. Save the output in WinDbg.
- Click 'Debug' -> 'Detach Debuggee', to detach WinDbg.
- Send the saved output to Gladinet support.