The purpose of this post is basically to give people a quick start guide to windbg, over the next few posts I will add more details on specific problems, so you can go directly to the steps to debug your specific problem, hope you find it helpful!
Part 1: Before you start
Step1: Get the tools
This tutorial is using Debugging tools for windows, the first question you need to ask yourself is whether the application you are debugging is from a 32 bit or 64 bit application? You can download the tools from here:
If you are debugging a 32 bit application running on 64 bit platform, you will find this page very helpful to troubleshoot different problems
Step2: Start debugging
Are you debugging a live application or a minidmp?
Live application: File->Attach to process and select your process
Minidmp: File->Open and open your minidmp.
Step3: Load your symbols
Assuming your symbols are at \\symbolsshare\symbols
You will want to cache the symbols locally on your machine, you will also want to cache the windows symbols locally at c:\symbols
.sympath srv*c:\symbols*http://msdl.microsoft.com/download/symbols (Tip: .symfix c:\symbols will do the same thing!)
Tip: .symfix c:\symbols is the same as .sympath srv*c:\symbols*http://msdl.microsoft.com/download/symbols
Tip: To troubleshoot symbol loading problems, check this post
Step4: Load SOS
SOS.dll is a debugging extension that helps you debug managed programs in Visual Studio and in the Windows debugger (WinDbg.exe) by providing information about the internal common language runtime (CLR) environment. SOS.dll is automatically installed with the .NET Framework.
Tip: if sos.dll is not loading as expected, check the post Error Loading sos.dll
Tip2: older .Net versions will use the older mscorwks module, so the command is .loadby sos mscorwks
Now you can are ready to move to the next step, depending on your specific problem:
- Windbg QuickStart guide (Part 2 - hangs)
- Windbg QuickStart guide (Part 3 - Crashes)
- Windbg QuickStart guide (Part 4 - Debugging unexpected program behaviour)
More tutorials to be added soon, please list any specific problem you have and I will work on including it, hope you find that helpful!