title: How to set up symbols in WinDbg?
body: <p>I am using <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063.aspx">Debugging Tools for Windows</a> and I get the following error message when starting WinDbg / cdb or ntsd:</p>
  
  <pre><code>Symbol search path is: *** Invalid ***
  ****************************************************************************
  * Symbol loading may be unreliable without a symbol search path.           *
  * Use .symfix to have the debugger choose a symbol path.                   *
  * After setting your symbol path, use .reload to refresh symbol locations. *
  ****************************************************************************
  </code></pre>
  
  <p>When executing arbitrary commands, I also get the error message</p>
  
  <pre><code>*** ERROR: Module load completed but symbols could not be loaded for &lt;module&gt;.&lt;ext&gt;
  </code></pre>
  
  <p>And the following seems to be related:</p>
  
  <pre><code>*********************************************************************
  * Symbols can not be loaded because symbol path is not initialized. *
  *                                                                   *
  * The Symbol Path can be set by:                                    *
  * using the _NT_SYMBOL_PATH environment variable.                   *
  * using the -y &lt;symbol_path&gt; argument when starting the debugger.   *
  * using .sympath and .sympath+                                      *
  *********************************************************************
  </code></pre>
  
  <p>In a <code>!analyze -v</code> I have also seen</p>
  
  <pre><code>DEFAULT_BUCKET_ID:  WRONG_SYMBOLS
  </code></pre>
  
  <p>and</p>
  
  <pre><code>*************************************************************************
  ***                                                                   ***
  *** Either you specified an unqualified symbol, or your debugger      ***
  *** doesn't have full symbol information. Unqualified symbol          ***
  *** resolution is turned off by default. Please either specify a      ***
  *** fully qualified symbol module!symbolname, or enable resolution    ***
  *** of unqualified symbols by typing ".symopt- 100". Note that        ***
  *** enabling unqualified symbol resolution with network symbol        ***
  *** server shares in the symbol path may cause the debugger to        ***
  *** appear to hang for long periods of time when an incorrect         ***
  *** symbol name is typed or the network symbol server is down.        ***
  ***                                                                   ***
  *** For some commands to work properly, your symbol path              ***
  *** must point to .pdb files that have full type information.         ***
  ***                                                                   ***
  *** Certain .pdb files (such as the public OS symbols) do not         ***
  *** contain the required information. Contact the group that          ***
  *** provided you with these symbols if you need this command to       ***
  *** work.                                                             ***
  ***                                                                   ***
  *************************************************************************
  </code></pre>
  
  <p>How do I set up WinDbg to find the symbols?</p>
  
  <p><sub>Disclaimer: This is intended to be a canonical question to all the <em>wrong symbols</em> posts in <a href="/questions/tagged/windbg" class="post-tag" title="show questions tagged &#39;windbg&#39;" rel="tag">windbg</a>.</sub></p>