title: How do I find the reason EETypeLoadException was thrown?
body: <p>I have a Windows 8.1 WinRT (modern/metro) application that is partly native C++ and partly .net (C#)</p>
  
  <p>At some point the C++ part is calling a delegate that is set to a C# method, when this delegate is called an EETypeLoderException is thrown and the method isn't called, I want to find out what is the reason for this failure.</p>
  
  <p>The method the delegate is pointing to is in a .net assembly that is already loaded, code from this assembly - and the same class that has the to-be-called method -  has already ran (and possibly is running in another thread at the time the exception is thrown)</p>
  
  <p>The EETypeLoadException is a native unmanaged exception, it is thrown by unmanaged code (in msvcr120_clr0400.dll), I can only use the unmanaged debugger to look at it and that debugger can't show me data from the exception because it doesn't know about the EETypeLoadException class.</p>
  
  <p>I can't catch the exception and extract data from it in code because I don't have the header files for it or any of its super classes.</p>
  
  <p>The fusion log viewer (FUSLOGVW) isn't showing anything useful, no bind errors, successful bindings don't look related.</p>
  
  <p>Procmon doesn't show any attempt to access a missing dll</p>
  
  <p>Making the code run on the UI thread or a background task doesn't change anything.</p>
  
  <p>I even tries looking at the memory dump of the exception object and following anything that looks like a pointer, couldn't find an error message.</p>
  
  <p>This happens both on the local machine and in the simulator</p>
  
  <p>I'm using Visual Studio 2013 update 3 on a Windows 8.1 machine</p>