У меня есть класс ATL.Я хотел бы знать, когда QueryInterface
этого класса вызывается для устранения утечек памяти.
Я добавил COM_INTERFACE_ENTRY_BREAK
в COM_MAP
, теперь это выглядит так:
BEGIN_COM_MAP( CMyClass )
COM_INTERFACE_ENTRY( IFace1 )
COM_INTERFACE_ENTRY( IFace2 )
//COM_INTERFACE_ENTRY_BREAK(IUnknown) // i included this too
COM_INTERFACE_ENTRY_BREAK( IFace1 )
COM_INTERFACE_ENTRY_BREAK( IFace2 )
END_COM_MAP()
Когда я начинаю отладку (нажимая F5), у меня нет точки останова после операции QI.Я уверен, что QI вызывается, потому что _ATL_DEBUG_INTERFACES
показывает утечку в окне вывода
ATL: QIThunk - 4 LEAK : Object = 0x02150CC0 Refcount = 1 MaxRefCount = 2 CMyClass - IUnknown
Что я должен сделать, чтобы остановить точку останова при вызове QI?
Спасибо.