我的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