Udostępnij za pośrednictwem


Windbg QuickStart guide (Part 1)

 

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:

32 bit application

64 bit application

 

Helpful tip

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*https://msdl.microsoft.com/download/symbols (Tip: .symfix c:\symbols will do the same thing!)

.sympath+ srv*c:\symbols*\\symbolsshare\symbols
.reload

 .symfix c:\symbols

 .sympath+ srv*c:\symbols*\\symbolsshare\symbols

 .reload 

Tip: .symfix c:\symbols is the same as .sympath srv*c:\symbols*https://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.

 .loadby sos clr

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

 

 

Step5

Now you can are ready to move to the next step, depending on your specific problem:

 

 

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!