我的程序在单步调试到CXXApp里的InitInstance()里的if (!ProcessShellCommand(cmdInfo))
这句时会出错,然后跟踪进去: BOOL CObject::IsKindOf(CRnutimeClass *pClass)const
{
ENSURE(this!=NULL);
ASSERT(AfxIsValidAddress(this,sizeof(CObject))); CRntimsClass *pClassThis = GetRuntimeClass(); // 在这一句出错
} 现在搞不清是什么原因引发这个错误。
这句时会出错,然后跟踪进去: BOOL CObject::IsKindOf(CRnutimeClass *pClass)const
{
ENSURE(this!=NULL);
ASSERT(AfxIsValidAddress(this,sizeof(CObject))); CRntimsClass *pClassThis = GetRuntimeClass(); // 在这一句出错
} 现在搞不清是什么原因引发这个错误。
CRuntimeClass!
从你这段代码根本看不出当时系统在做什么
你至少看看调用堆栈是什么
看看CRuntimeClass对应的到底是什么类的runtimeclass
说“这里出错了”往往毫无意义,因为谁也不知道到底是什么错误
看了调用堆栈,是CFrameWnd::GetActiveView()行1180+0x20字节出错。
除了这个错误外,在output窗口有什么输出?
另外描述一下你的程序架构,视图的基类是什么类型等等。
具体是在CView* CFramd::GetActiveView() const
{
// m_pViewActive->IsKindOf(RUNTIMECLASS(CView))这一句出错
ASSERT(m_pViewActive==NULL||m_pViewActive->IsKindOf(RUNTIMECLASS(CView)));
return m_pViewActive;
} 但是我在我的CXXView::OnCreate函数里设置了断点,里面却是可以成功创建的。