在VC、MFC工程中 ,編譯沒有錯誤,但是在調試時會出現 Assertion Failed錯誤,比如 Assertion Failed afxwin2.inl Line139 ,這種錯誤往往定位不到錯誤點,以至於不好查找,下面以此問題爲例,說一下如何解決:
1.首先找到afxwin2.inl,此文件一般在軟件的安裝目錄下,可在軟件安裝目錄文件夾下使用搜索功能,查找該文件,找到後將文件拷貝到其他地方,比如桌面;
2.用軟件打開,我一般用Notepad++,打開後找到第139行,{ ASSERT(::IsWindow(m_hWnd)); ::InvalidateRect(m_hWnd, NULL, bErase); }
3. 這種大概意思是,句柄爲空,查找是不是自己定義的類沒關聯控件等,如果不明白含義,將此行復制,百度一下,基本能找到相似問題以及解決辦法。