Debug Assertion Failed解決方法! !!

Debug Assertion Failed解決方法! !!

 VC++調程序出現以下錯誤:

  Debug   Assertion   Failed!     
  Program:   D:\wyuStud\debug\wyuStud.exe   
  File:   afx.inl         
  Line:157   
c++

  可能問題:1.野指針;2.內存泄露
  解決方法:
函數

  1.看一看你的程序裏是否是有ASSERT()或VERIFY()語句。這兩個宏是用來測試它的參數是否爲真的。出現你說的,這說明你的指針或表達試有問題post

  2.File: afx.inl 
    Line:157
    打開看看就知道了
測試

  3.vc++中遇到過此問題,在release下回忽略此問題,其實就是野指針的問題,在release版本下不用關心這個問題,也就是系統幫你給屏蔽了,可是問題仍是存在的,真正使用的時候,偶爾會出來給你報個小錯。建立窗體等的時候沒有new,可是在析構的時候delete了,就會在debug環境下,報這樣的錯誤。打開"編譯"->"配置"->"把裏面除了release其餘的選項所有刪除,再構件就OK了
  4.首先若是你用的是vc6的話:
a.按F5運行你的程序
b.在出錯時,選擇「重試」
c.按ALT+7調出「調用棧」窗口
d.雙擊從上往下的最近一個本身定義的函數,系統會自動把該函數所在的文件顯示出來,此時程序就暫停在光標處。通常來講錯誤就出在這附近。你能夠經過查看變量的值來確認
ui

  5.能夠先聲明一個臨時的CString變量而後做爲暫存,而後把你取得的值放入其中,以後再賦給另外一個你要使用的變量,便可解決問題 spa

  6.多是在編寫函數調用指針變量時沒有分配空間(若是是在類中定義的指針變量,則指針在多個函數中引用時要分別從新分配空間),檢查一下。
  7.相似的問題,多是由於輸出對象建立不成功,因而使用的時候用的就是空的對象,因而就出現問題了。
.net

  8.「build->clean」debug

  9."Project"->"setting"->"點擊c/c++"->"Category選項中選擇Preprocessor"
->"在Undefined symbols:填寫_DEBUG" 從新編譯運行便可
指針

  10.我是在作一個ActiveX控件的時候遇到的,因爲是初學者,
因此在一個事件處理函數中這些輕率的寫:
ClassMyControl pControl;
pControl.f1();   這些就會出現那個錯誤,改完Release後雖然異常被屏蔽了,但卻直接退出了,解決方法是,聲明一個ActiveX控件對象後,還要建立才能正在建立。
pControl.Create(``````);
pControl.f1();    OK!!!
對象

相關文章
相關標籤/搜索