Debug Assertion Failed!
Program: D:\wyuStud\debug\wyuStud.exe
File: afx.inl
Line:157
可能問題:1.野指針;2.內存泄露
解決方法:
1.看一看你的程序里是不是有ASSERT()或VERIFY()語句。這兩個宏是用來測試它的參數是否為真的。出現你說的,這說明你的指針或表達試有問題
2.File: afx.inl
Line:157
打開看看就知道了
3.vc++中遇到過此問題,在release下回忽略此問題,其實就是野指針的問題,在release版本下不用關心這個問題,也就是系統幫你給屏蔽了,但是問題還是存在的,真正使用的時候,偶爾會出來給你報個小錯。創建窗體等的時候沒有new,但是在析構的時候delete了,就會在debug環境下,報這樣的錯誤。打開"編譯"->"配置"->"把里面除了release其他的選項全部刪除,再構件就OK了
4.首先如果你用的是vc6的話:
a.按F5運行你的程序
b.在出錯時,選擇“重試”
c.按ALT+7調出“調用棧”窗口
d.雙擊從上往下的最近一個自己定義的函數,系統會自動把該函數所在的文件顯示出來,此時程序就暫停在光標處。一般來說錯誤就出在這附近。你可以通過查看變量的值來確認
5.可以先聲明一個臨時的CString變量然后作為暫存,然后把你取得的值放入其中,之后再賦給另一個你要使用的變量,即可解決問題
6.可能是在編寫函數調用指針變量時沒有分配空間(如果是在類中定義的指針變量,則指針在多個函數中引用時要分別重新分配空間),檢查一下。
7.類似的問題,可能是因為輸出對象創建不成功,於是使用的時候用的就是空的對象,於是就出現問題了。
8.“build->clean”
9."Project"->"setting"->"點擊c/c++"->"Category選項中選擇Preprocessor"
->"在Undefined symbols:填寫_DEBUG" 重新編譯運行即可
10.我是在做一個ActiveX控件的時候遇到的,由於是初學者,
所以在一個事件處理函數中這些輕率的寫:
ClassMyControl pControl;
pControl.f1(); 這些就會出現那個錯誤,改完Release后雖然異常被屏蔽了,但卻直接退出了,解決方法是,聲明一個ActiveX控件對象后,還要創建才能正在創建。
pControl.Create(``````);
pControl.f1(); OK!!!