title: Trouble getting xperfview to load symbols for DLL
body: <p>I have been fighting tooth and nail with xperf to get symbols for a tool I'm profiling. My code that runs within the tool is split between the .exe and a .dll -- the important stuff to profile being in the .dll. I ran xperf:</p>
  
  <pre><code>xperf -on PROC_THREAD+LOADER+INTERRUPT+DPC+PROFILE -stackwalk profile
  </code></pre>
  
  <p>And then I ran my tool for a bit, and then</p>
  
  <pre><code>xperf -d profile.etl
  </code></pre>
  
  <p>Then I tried xperfview. I loaded up the profile, toggled "load symbols" on, and opened the summary table. No symbols at all -- literally module came up "unknown" in the function column. I've scoured other threads on this and here's what I've tried:</p>
  
  <ol>
  <li>I set my environment variables, _NT_SYMBOL_PATH  and _NT_SYMCACHE</li>
  <li>I cleared out my symbol cache and run xperf -symbols -i profile_results.etl.</li>
  <li>I copied over dbghelp.dll from a recent version of Windows Debugging Tools and repeated the above.</li>
  </ol>
  
  <p>After doing all this I now get function names showing up properly for most of the modules that are <em>not</em> my own code, but I can't get my dll to show up. The dll is being compiled in release mode (with optimization) but I set the Visual Studio project specifically to create a pdb, I've verified that the pdb exists and that it is within a directory on my _NT_SYMBOL_PATH. Does anyone know how I can fix this, or at least debug it further?</p>