Debug Assertion Failed!

解决方法:

1. 按F5调试程序

2. 在出错时,选择“重试”

3. 按ALT+7调出“调用栈”窗口

4. 双击从上往下的最近一个自己定义的函数,系统会自动把该函数所在的文件显示出来,此时程序就暂停在光标处。一般来说错误就出在这附近。可以通过查看变量的值来确认。

找到问题:

原来是重写的DeleteContents()里出了问题:

for(POSITION pos=GetFirstViewPosition();pos!=NULL;)
{
CView* pView = GetNextView(pos);

if (pView->IsKindOf(RUNTIME_CLASS(CMessageView)))
{
CMessageView* pChatView = (CMessageView*)pView;
//pChatView->m_EditBox.SetWindowText(_T(""));            //就是这句,调错调了3个小时!!!!注释掉就不会报错了。但是还没来得及研究究竟是为什么。
}
}

原文地址:https://www.cnblogs.com/lxt287994374/p/3432578.html