title: Viewing a pimpl from DLL in debugger
body: <p>I am using the pimpl idiom to hide the implementation details of an interface so that I can have some measure of ABI protection.  I'm not that well versed on the ins and outs of MS...using Linux for most of my development career.</p>
  
  <p>I'm unable to view the insides of the pimpl from the debugger inspection window.  My types expand only so far as the raw pointer to impl (it uses a smart pointer).  I've tried exporting the symbols, but that doesn't seem to work.  I suppose the symbols I'm actually trying to view are not being imported or something.</p>
  
  <p>How do I remedy this?  Can visualizers call functions perhaps?</p>
  
  <p>Edit -- perhaps I confused people with the export thing.</p>
  
  <p>I'm trying this:</p>
  
  <p>object.h:</p>
  
  <pre><code>struct EXPORT object {
      struct EXPORT impl;
      impl * pimpl;
  };
  </code></pre>
  
  <p>object.cpp</p>
  
  <pre><code>struct EXPORT object::impl {
      char member;
  };
  </code></pre>
  
  <p>The only way I can think to solve the problem is to put the impls in headers that are included in debug versions of the library.  Hoping for a better solution.</p>