title: Debug Crash in DLL
body: <p>Trying to debug a crash in one of our DLL's.  It is loaded into Server Manager and crashes when trying to configure Active Directory Certificate Services (the DLL is a registered provider).  I know the crash is an access violation and I have the pdb file, just don't know how to go about debugging this.  I've read pages such as <a href="https://stackoverflow.com/questions/1319234/analyzing-a-crash-in-windows-what-does-the-error-message-tell-us">this</a> and <a href="https://stackoverflow.com/questions/2528776/windows-c-is-it-possible-to-find-the-line-of-code-where-exception-was-thrown">this</a> (didn't help).  I tried to glean the info using windbg (using lm to get the loaded address, which appears to be 8000000:</p>
  
  <pre><code>"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -z myKSP.dll
  </code></pre>
  
  <p>Then</p>
  
  <pre><code>0:000&gt; lm 
  start             end                 module name
  00000001`80000000 00000001`8005e000 ...
  </code></pre>
  
  <p>Then, since the Event Viewer tells me:</p>
  
  <pre><code>Exception code: 0xc0000005
  Fault offset: 0x000000000002a601
  </code></pre>
  
  <p>I tried to view that:</p>
  
  <pre><code>0:000&gt; ln 80000000+2a601
  Browse module
  Set bu breakpoint
  </code></pre>
  
  <p>Nothing is shown.</p>
  
  <p>I have VS2015, so, I tried to attach to the serververmanager.exe process.  Next, I tried loading symbols via Tools->Options->Debugging->Symbols and specifying the path, but, when I set a breakpoint, I always receive "no symbols have been loaded".  In the previous symbol windows, I set the cache folder, which downloaded a bunch of stuff, but that did not seem to load anything.</p>
  
  <p>Clearly, I'm not using the tools correctly.  How do I debug a DLL, compiled in Release mode, PDB is available, that is loaded by the ServerManager.exe or whatever sub-process it might spawn)?</p>