title: Visual Studio not able to show the value of 'this' in release mode (with debug information)
body: <p><strong>Original question:</strong></p>
  
  <p>Why is the this pointer 0 in a VS c++ release build?</p>
  
  <p>When breaking in a Visual Studio 2008 SP1 release build with the /Zi (Compiler: Debug Information Format - Program Database) and /DEBUG (Linker: Generate Debug Info, yes) options, why are 'this'-pointers always 0x00000000?</p>
  
  <p><strong>EDIT: Rephrased question:</strong></p>
  
  <p>My original question was quite unclear, sorry for that. When using the Visual Studio 2008 debugger to step through a program I can see all variables, except the local object's member variables. This is probably cause the debugger derives these from the this pointer, but VS always says it's 0x00000000, so it cannot derive the current object's member variables (it does not know the memory position of the object)</p>
  
  <p>When loading a megadump (Like a Windows minidump, but containing the entire memory space of the process), I can look at all my local variables (defined in the function) and entire tree-structures on the heap even I have pointers to.</p>
  
  <p>For example: when breaking in A::foo() in Release mode</p>
  
  <p>'this' will have value 0x00000000<br>
  'f_' will show garbage</p>
  
  <p>Somehow this information needs to be available to the process. Is this a missing feature in VS2008? Any other debugger that does handle this properly?</p>
  
  <pre><code>class A
  {
    void foo() { /*break here*/ }
    int f_;
  };
  </code></pre>