我的程序在单步调试到CXXApp里的InitInstance()里的if   (!ProcessShellCommand(cmdInfo))   
  这句时会出错,然后跟踪进去:  BOOL CObject::IsKindOf(CRnutimeClass *pClass)const
{
   ENSURE(this!=NULL);
   ASSERT(AfxIsValidAddress(this,sizeof(CObject)));    CRntimsClass *pClassThis = GetRuntimeClass();   // 在这一句出错
}       现在搞不清是什么原因引发这个错误。

解决方案 »

  1.   

    CRntimsClass *pClassThis = GetRuntimeClass();  ??
    CRuntimeClass!
      

  2.   

    我想mfc的框架应该没有问题,应该是程序其他地方出现了错误。
      

  3.   

    如果你不细述错误的现象,谁知道错误会是什么?
    从你这段代码根本看不出当时系统在做什么
    你至少看看调用堆栈是什么
    看看CRuntimeClass对应的到底是什么类的runtimeclass
    说“这里出错了”往往毫无意义,因为谁也不知道到底是什么错误
      

  4.   


            看了调用堆栈,是CFrameWnd::GetActiveView()行1180+0x20字节出错。
      

  5.   

    说明view可能没创建成功?!
    除了这个错误外,在output窗口有什么输出?
      

  6.   

    再看是哪个函数调用的GetActiveView。
    另外描述一下你的程序架构,视图的基类是什么类型等等。
      

  7.   


           具体是在CView* CFramd::GetActiveView() const
    {
        // m_pViewActive->IsKindOf(RUNTIMECLASS(CView))这一句出错
        ASSERT(m_pViewActive==NULL||m_pViewActive->IsKindOf(RUNTIMECLASS(CView)));
        return m_pViewActive;
    }    但是我在我的CXXView::OnCreate函数里设置了断点,里面却是可以成功创建的。