Отладка сборки .NET, загруженной из приложения VC ++ с использованием CCW - PullRequest
1 голос
/ 24 февраля 2012

Я извиняюсь за смутную тему, но я неопытен в этой области и не могу придумать что-то более конкретное.

Я отлаживаю стороннее приложение (написанное на VC ++ 2005), котороезагружает COM плагины.Мой плагин был написан на C # 4.0.Когда вызывается определенный метод в моем плагине, приложение вылетает, но дает мне довольно бесполезный стек вызовов:

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  

Все, что я думаю, это говорит мне о том, что есть проблема, связанная с CCW.Метод, который приложение должно вызывать в моем плагине в момент сбоя, также фактически не вызывается.Я изменил свой плагин, чтобы немедленно выдать NotImplementedException, и он не выброшен.Однако, если я изменю другой метод в том же интерфейсе , чтобы вызвать исключение NotImplementedException, приложение действительно сообщит об этой ошибке правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...