我的VC++代碼正在工作(執行)完全正常&現在突然間我不明白爲什麼我會收到錯誤「Debug assertion failed」。在沒有任何代碼更改的情況下突然出現「Debug assertion failed error」錯誤。 (在C++代碼中)
file:f\dd\vctools\crt_bld\self_x86\crt\src\fclose.c.
我在WIn7 64位操作系統上使用VS2008。
什麼原因可能是工作正常的代碼突然以這種方式突然沒有任何代碼更改突然中斷?
任何人都可以幫助我擺脫這個錯誤?
我在調用堆棧在此之前的代碼是文件
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\crt\src\crt0dat.c
while (pfbegin < pfend)
{
/*
* if current table entry is non-NULL, call thru it.
*/
if (*pfbegin != NULL)
(**pfbegin)();
++pfbegin;
}
是的,fclose()
正在接收一個空文件指針中看到的。我真的不明白爲什麼這會得到錯誤的文件指針值,突然間我沒有對代碼或環境做任何改變。
猜測:由相應的'fopen()'打開的文件失敗,導致將空指針傳遞給'fclose()'? – hmjd 2012-04-20 08:53:18
你可以請張貼任何相關的代碼片段(斷言失敗之前的代碼行)? – 2012-04-20 08:53:18
是的,我編輯了我的問題中必要的代碼。 :) – codeLover 2012-04-20 09:03:53