敬请高手帮忙,这个错误是怎么回事?

yangguo_god 2002-09-11 04:58:52
一个程序编译运行后,开始没什么事情,运行一段时间出现这个错误,是怎么回事了?Access viocation at address BFF7A388 in module'KERNWL32.Dll',
Write of Address 91cc91d4
不明白这主要是哪方面的问题,请高手帮忙解释一下
...全文
24 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangguo_god 2002-09-12
  • 打赏
  • 举报
回复
看得出,许多同志都出现过这种错误,似乎该讨论一下了,
whitelion 2002-09-11
  • 打赏
  • 举报
回复
对于这样的问题,要综合起来考虑哪里可能出错,然后在可能出错的地方一个函数一个语句的执行,检查哪里出错了。
还要注意是不是一个form的oncreate,onshow等事件中出错,
yunan 2002-09-11
  • 打赏
  • 举报
回复
关于这个字符串和String的问题。我想请哪位高手出面,
写一个使用注意事项。因为我发现经常会因为使用这个东西
不当而造成莫名其妙的内存错误。
我先给大家提供一个:
就是String类型的c_str()绝对不能用来给一个字符串赋值。
比如:
char *filename;
String str;
str="abc.dat";
filename=str.c_str();
fopen(filename,"r");

这种做法运行一次可能不会错。但是运行多了肯定出错。
如果要用的话,就要这样:
fopen(str.c_str(),"r");这样是不会错的。
具体原因CSDN的程序员大本营杂志上有。
希望各位高手集思广益,出本《字符串使用必读》之类的书。
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
欢迎灌水,在顶一下
hillhero789 2002-09-11
  • 打赏
  • 举报
回复
我也试过很多次这种情况,一是指针(包括delete 已经释放的指针,指向已经释放的内存区,如果你动态生成控键要特别注意 ),二是数组(其实跟指针一回事),三是AnsiString越界(如:AnsiString temp="hello";temp[6]……)。
钛哥 2002-09-11
  • 打赏
  • 举报
回复
出错后,
View菜单-Debug Windows-Call Stacks 就可以看到程序出错的地方
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
根据那个出错地址,可以搜索到是哪里出错吗?
cuilin2002 2002-09-11
  • 打赏
  • 举报
回复
内存管理有问题
rockhard 2002-09-11
  • 打赏
  • 举报
回复
指针或者引用的数组越界都有可能(包括控件属性数组)
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
大家多提点好的建议,最好是说上我具体该怎么做,我对调试没什么心得
ilovebcb2000 2002-09-11
  • 打赏
  • 举报
回复
主要查一下你的指针,看有没有没扶植的地方
yangguo_god 2002-09-11
  • 打赏
  • 举报
回复
我去设置断点试试
主要是,我还找不到出错语句在哪里,显示这个错误后,并没有指向出错语句
zbc 2002-09-11
  • 打赏
  • 举报
回复
同意楼上的看法,或者您给出出错的代码。大家看看
hup 2002-09-11
  • 打赏
  • 举报
回复
这是非法访问。
kingcaiyao 2002-09-11
  • 打赏
  • 举报
回复
你这样:
在程序中设置断点,找到出错的地方,然后再根据出错地方的上下文来检查你的程序.从你给出的错误提示信息来看,是非法内存操作,原因就在于你的程序中可能用到条件判断语句,而在不满足条件对应的指针并没有指向实际的内存,因此出现非法的指外地操作.

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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