title: WinDbg fails to load SOS.dll
body: <p>I need to debug a 32-bit managed application using WinDbg, however WinDbg stubbornly refuses to load the SOS.dll extension.  After many Internet searches and things tried I'm stumped.  I have experience debugging unmanaged code with WinDbg but this is my first attempt with managed.</p>
  
  <p>When I direct WinDbg to load the default SOS.dll it gives this error:</p>
  
  <pre><code>sxe ld clr                &lt;- I wait until the clr has loaded
  .loadby sos clr
  
  The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed,     Win32 error 0n193
      "%1 is not a valid Win32 application."
  Please check your debugger configuration and/or network access.
  </code></pre>
  
  <p>And if I instead attempt to specify the SOS.dll I receive a different error:</p>
  
  <pre><code>.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos clr
  
  The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos clr) failed, Win32 error 0n126
      "The specified module could not be found."
  Please check your debugger configuration and/or network access.
  </code></pre>
  
  <p>My setup is VM-to-VM over serial connection and both VMs are  Windows Server 2008 R2 SP1.
  Debugging Tools For Windows (x64) is installed in both VMs.  </p>
  
  <p><strong>NOTE:</strong>  It appears installing x86 Debugging Tools on a x64 CPU as is suggested in <a href="https://stackoverflow.com/questions/4373683/unable-to-load-sos-in-windbg">this solution</a> is not possible (nor necessary) in newer Windows OS's so please don't suggest it.  The installer fails with an error.</p>
  
  <p>Thanks in advance for your ideas.</p>