起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 164|回复: 8

【结】access violation at address错一般什么时候出现

[复制链接]
发表于 2010-1-8 17:04:14 | 显示全部楼层 |阅读模式
rt
用户的客户端操作有时候弹出个错误窗口报
access violation at address 400058c4 in module 'rtl60.bpl'. read of address 65684342 之类的错

我在测试数据时怎么也重现不了。找不到问题原因。

这个错一般什么情况下出现?
回复

使用道具 举报

发表于 2010-1-8 17:14:42 | 显示全部楼层
这个就需要看你在运行啥功能的时候出来的了,例如功能上有代码或者使用了第三方控件,需要楼主找找规律
回复 支持 反对

使用道具 举报

发表于 2010-1-8 17:15:05 | 显示全部楼层
这种问题出现的情况很多,
一般都是代码使用的不正确,比如创建的对象使用后没有释放、使用的对象没有创建等
这个问题在客户那里出现了就在也没有了么?如果在条数据上相同操作可以重现直接取调试这个有问题的账户。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-8 17:52:08 | 显示全部楼层
不好重现 不规律  试了多次重现不了

从代码里没找到有没释放的对象,也没用第三方控件

TQuery对象 Destory应该也算释放吧?
还有
lDeltaDataSet := TDeltaDataSet.Create(DataSet);
这个lDeltaDataSet  是否也要释放? 释放不会对DataSet造成影响吧?
回复 支持 反对

使用道具 举报

发表于 2010-1-9 10:03:58 | 显示全部楼层
自己创建对象是否需要释放,释放原则参考 http://bbs.justep.com/forum.php?mod=viewthread&tid=19823

lDeltaDataSet  也需要释放。
另外,楼主可以通过一部分代码一部分代码这样屏蔽来检查那段代码处问题
回复 支持 反对

使用道具 举报

发表于 2010-1-9 10:05:21 | 显示全部楼层
TQuery create以后一般用Free来释放
lDeltaDataSet  需要释放,不会对DataSet有影响。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-9 15:01:05 | 显示全部楼层
最初由 atiger 发布
[B]另外,楼主可以通过一部分代码一部分代码这样屏蔽来检查那段代码处问题
[/B]

关键用了几台机器怎么测都重现不了这个错
只在用户使用时偶尔发生

是不是找个内存小的机器测试,重现的几率会比较大?
回复 支持 反对

使用道具 举报

发表于 2010-1-9 16:55:32 | 显示全部楼层
也有这种可能行,还有和这个人的操作习惯有关系,比如他是不是操作了一些你们不会注意的地方,或者是不是他打开功能好久都不用就会出现等等,出现错误的用户是不是每次都集中到个别人上,反正这种问题如果从代码上不能一眼瞅出来,那么只能慢慢的想办法重现了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-11 10:18:17 | 显示全部楼层
打开功能好久不用 这个太常见了。。。。。 用完某个功能不关闭, 能开一整天。
先结贴。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-12 09:40 , Processed in 0.042660 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表