I apologize for the vague subject, but I'm inexperienced in this area, and couldn't come up with something more specific.
I am debugging a third party application (written in VC++ 2005) that loads COM plugins. My plugin was written in C# 4.0. When a particular method in my plugin is called, the application crashes, but gives me a fairly useless call stack:
151f0d2d()
clr.dll!_COMToCLRDispatchHelper@28() + 0x28 bytes
clr.dll!BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>::~BaseWrapper<Stub *,FunctionBase<Stub *,&DoNothing<Stub *>,&StubRelease<Stub>,2>,0,&CompareDefault<Stub *>,2>() + 0x175b8b bytes
clr.dll!COMToCLRWorkerBody() + 0x80 bytes
clr.dll!COMToCLRWorkerDebuggerWrapper() + 0x34 bytes
clr.dll!_COMToCLRWorker@8() + 0x12b bytes
All I think that this tells me is that there's a problem related to CCW. The method that the application is supposed to call in my plugin at the point of the crash doesn't actually get called, either. I changed my plugin to immediately throw a NotImplementedException, and it isn't thrown. However, if I modify another method in the same interface to throw NotImplementedException, the application does report that error properly.
Can anyone recommend further debugging strategies?