我有一个多态类型,我需要根据以下内容输出断点消息:
如果您感兴趣,断点位于MFC库BOOL CCmdUI::DoUpdate(CCmdTarget* pTarget, BOOL bDisableIfNoHndler)
中的cmdtarg.cpp
。如果符合条件,我想在调用Enable(bHandler)
时输出消息。
我试图做一个像这样的条件:
dynamic_cast<className*>(this) ? ((dllName.dll!className*)this)->m_var == target : 0
但是我收到以下错误消息:
无法设置断点。标识符“className”未定义
这可能是因为className取自dll。所以我改为:
dynamic_cast<dllName.dll!className*>(this) ? ((dllName.dll!className*)this)->m_var == target : 0
然后我收到此错误消息:
无法设置断点。运行时dyanmic_cast的操作数必须具有多态类类型。
类型是多态的。我可以看到vtable,它里面有4个虚函数。
如果它不是我感兴趣的那种类型,那么盲目地将其盲目地导致失败,那我该怎么办?