Windows Debugger ( Windbg) – Setting “Symbol File Path” – 2018-June ( Session 3 )

Background

During a WinDbg Session I noticed that I was re-downloading symbol files.

I really could not afford the network bandwidth as I was tethering.

Let us see if there is way out.

Windbg

Analyze

The command that triggered the download of new symbol files is “!analyze -v”

Image

download_20180626_0638PM.png

Textual

  1. Deferred srv*c:\Symbols\MSFT;srv*https://msdl.microsoft.com/download/symbols
  2. *BUSY*
  3. Downloading symbols for sqlmin.pdb

Explanation

  1. Deferred srv*c:\Symbols\MSFT;srv*https://msdl.microsoft.com/download/symbols
    • We can see that downloading of symbols is deferred
  2. BUSY
    • We can not do anything as we are stuck downloading files
  3. Downloading symbols for sqlmin.pdb
    • Downloading….

Symbol Path File

Set

Outline

  1. Set symbol file path to MSFT Store
  2. Set symbol file path to MSFT Store & Local Folder
  3. Set symbol file path to MSFT Store & Cache downloaded files locally

Set symbol files path

Syntax

.sympath srv*[remote-url]

Sample

.sympath srv*http://msdl.microsoft.com/download/symbols

Set symbol path file path to local & MSFT store

Syntax

.sympath [local];[remote]

Sample

.sympath c:\symbols\remote\MSFT;srv*https://msdl.microsoft.com/download/symbols 

Output
Output – Image

symPathDownloadAndCacheLocally_20180627_0742AM.png

Explanation

 

  1. Symbol path set
    • OK ( Processed )
      • Cache locally at c:\symbols\remote\MSFT
    • Deferred
      • Deferred remote path set to MSFT store ( http://msdl.microsoft.com/download/symbols )

 

Set symbol path file path and cache locally

Syntax

.sympath cache*[local];[remote]

Sample

.sympath cache*c:\symbols\local\MSFT;srv*https://msdl.microsoft.com/download/symbols 

Explanation
  1. Set symbol path to MSFT store ( http://msdl.microsoft.com/download/symbols )
  2. Cache locally at c:\symbols\local\MSFT
Output
Output – Image

symPathDownloadAndCacheLocallyPlus_20180627_0758PM

Output – Explanation
  1. We have two deferred operations
    • Cache set to c:\symbols\local\MSFT
    • Server source set for https://msdl.microsoft.com/download/symbols

Get

Outline

  1. Get symbol file path from command

Get symbol file path from command

.sympath
Syntax

.sympath

Output

symbolPathGet_20180627_0816AM.png

Reload

We can use reload to sync up our local cache with our remote store.

.reload
Syntax

.reload -f

Output

reload_output_20180627_0820AM.png

 

Summary

Please pay attention when you have a good network connection to stage your symbol files locally.

 

Dedicated

Dedicated to Inan Wong

Inan Wong – WinDbg
Link

 

References

  1. Inan Wong

 

 

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s