程序出现奇怪的错误,高手帮忙看一下

seabird 2000-08-18 04:27:00

程序运行中间出现如下奇怪的错误:

Debug Assertion Failed!
Program D:\LIBOZ\PROGRAM\VC\WORKSHOP\VCHAT\DEBUG\VCHAT.EXE
File: strcore.cpp
Line: 479

For information on how your program can cause an assertion
failure,see the Visual C++ documentation on asserts.

(Press Retry to debug the application)

终止 重试 忽略


我无论按那一个按钮,程序都非法退出.
strcore.cpp是mfc的文件.

请问这种错误怎么来定位出错的地方,一般是什么问题?
请有经验的高手指导一下.多谢了
...全文
337 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
playpcgame 2000-08-21
  • 打赏
  • 举报
回复
相应部分的MFC的代码如下,出错的可能是因为使用了空的CString的Mid,Left等函数
LPTSTR CString::GetBuffer(int nMinBufLength)
{
ASSERT(nMinBufLength >= 0);
.....
}
225 2000-08-21
  • 打赏
  • 举报
回复
我也遇到过类似的错误,弹出一错误框,我点了调试,发现是CString的format的参数错误,原来一个%后面忘了写s。
kingwill 2000-08-21
  • 打赏
  • 举报
回复
你这样处理:重试--》调试--》然后看看错在什么地方,按你上面说的是strcore.cpp里由于你的编程错误造成的ASSERT()错误!!你按我的方法找出哪个函数出错,再看看自己用到那个函数的代码,你就可以找出来。我一直这样做
Mover 2000-08-21
  • 打赏
  • 举报
回复
同意Tiangz的看法,该问题很常见
feng 2000-08-21
  • 打赏
  • 举报
回复
调出堆栈窗口,跟踪看是那一行语句出现的错误.
yongdu 2000-08-18
  • 打赏
  • 举报
回复
仔细读读你的程序,关于CString的语句仔细想想
tbmac 2000-08-18
  • 打赏
  • 举报
回复
并非MFC文件出错。在你自己的代码上设置断点查找出错的地点,必要时注释掉你添的变量。
ndkk 2000-08-18
  • 打赏
  • 举报
回复
这种调试错误通常是在调用函数不正确,象参数类型不对,返回值不对.
Holly 2000-08-18
  • 打赏
  • 举报
回复
1.你确认是用F5调试运行而不是Ctrl+F5执行程序吗?
2.如果你用F5调试运行Press [重试]程序会断在出问题的代码行,不过我看你的对话框提示似乎你的Visual C++的环境还没有设置好,你需要在Tools->Options->Directories->Src Files中增加MFC的源代码目录;(因为strcore.cpp是MFC的源代码文件,其中主要是CString的执行代码)
3.一般来说,错误的使用CString,或者其他的指针导致CString的内容被破坏;
zzh 2000-08-18
  • 打赏
  • 举报
回复
你在程序中运行DEBUG版本,然后在出现这个错误时点击重试,进入调试窗口,然后就可以一步一步的检查问题出在哪里了。
DragonCheng 2000-08-18
  • 打赏
  • 举报
回复
你最好将你程序你的try..catch去掉后,才能调试
Tiangz 2000-08-18
  • 打赏
  • 举报
回复
我看了一下,strcore.cpp是mfc中定义CString的文件,上述的Assert问题的出现实在是再寻常不过的了,不必惊慌。
因为MFC的源代码里有很多的ASSERT和VERIFY 宏定义,目的是拦截程序中的错误代码,阻止因代码的错误而导致的对系统内存的非法访问和操作。比如声明了CString * pStr,但没有初始化就立即调用pStr->FunctionName(),一般都会导致程序异常。
根据我经验,导致ASSERT的大部分原因是程序代码错误的试图去读写一个尚未分配或已经释放了的内存资源,或访问不属于当前对象的内存空间,尤其CString是一个ARRAY型的类,后一种可能性比其它的类要大一些。
Kevin_qing 2000-08-18
  • 打赏
  • 举报
回复
我觉得應該是CString的buffer备破坏了

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧