单步调试函数OnInitialUpdate(),调试到此函数最后(右括号),进入wincore.cpp中的 case AfxSig_vv:
(this->*mmf.pfn_vv)();
break;
继续单步调试,直到在此处:
AfxCallWndProc(pWnd, pWnd->m_hWnd, message, wParam, lParam);程序弹出accessviolation错误。请教大家:这种错误该如何调试?OnInitialUpdate()函数有错吗,但为什么单步调式这个函数却没有发现错误?

解决方案 »

  1.   

    你怀疑wincore.cpp里面有错?
    虽然它也有错, 不过很少遇到吧AfxCallWndProc(pWnd, pWnd->m_hWnd, message, wParam, lParam); 
    pWnd 这个指针有问题?   检查堆栈 上下文代码   
      

  2.   

    我觉得是OnInitialUpdate()函数中,有问题。把自己添加的代码全部删除,编译看看。MFC出现这种问题的可能性很小,遇到这种情况的时候,多数是开发人员自己编写的代码出现问题了。