找回密码
 点一下
查看: 3472|回复: 6

哦,关于TriggerRemoveCondition的弹错

[复制链接]
发表于 2008-2-8 16:09:04 | 显示全部楼层 |阅读模式
原型bug在此
http://www.gacn.net/bbs/read.php?tid=9628

然后是经过个人电脑上n次实验后得出的一些结论,嗯,解决方案我会安排在最后给出,我们先来猜猜弹错发生的原因

1.这个错误弹出的错误地址是一个固定值,错误操作内容有规定格式:
The instruction at '0x6F33C739' referenced memory at '0x139F009C'.
The instruction at '0x6F33C739' referenced memory at '0x1577009C'.
The instruction at '0x6F33C739' referenced memory at '0x137E009C'.
The instruction at '0x6F33C739' referenced memory at '0x162E009C'.
The instruction at '0x6F33C739' referenced memory at '0x13A2009C'.
具体错误如
----------------------------------------
    Memory Dump
----------------------------------------

Code: 16 bytes starting at (EIP = 6F33C739)

6F33C739: 8B 76 04 23  F8 0B D8 85  F6 7F DC 8B  45 FC 85 C0  .v.#........E...


Stack: 1024 bytes starting at (ESP = 0012F6B8)

* = addr                                                      **                                                     *      
0012F6B0: FF FF FF FF  B4 F7 12 00  74 04 B0 0F  74 04 B0 0F  ........t...t...

补上两个特例,形成环境记不清了(也许是与executefunc合用时的?):
The instruction at '0x6F33C739' referenced memory at '0x109E0114'.
The instruction at '0x6F33C739' referenced memory at '0x109E00FC'.


2.弹错发生条件:
首先有TriggerRemoveCondition函数在Condition里面,然后加上“某些”函数就可能弹错
值得注意的是,这个弹错还是一个概率事件。
锅在原帖里提到的加入无用的bjdubug 就好了,那只是一时撞了大运~如果你将测试时的“固定随机种子”去掉,或者将目标的最初生命值改动一下,让它被攻击的次数变化,那么他可能就会弹出。
关于弹错的必要条件,目前的一点:
该触发条件删除后,当前剩余的引用数为0

3.所以,一个解决方法即是:将目标triggercondition加给一个无用的trigger,一直不要删除它,然后在我们使用的触发里就可以像原来一样安全的作删除操作了。

那么。剩下的事情,如何给出一个合理的解释呢
发表于 2008-2-8 16:24:10 | 显示全部楼层
- -!
那么删除这个条件没米有意义了呢。
回复

使用道具 举报

发表于 2008-2-8 16:41:34 | 显示全部楼层
5555又想起了某贴里的zhezhutou………………

貌似用timer做延时删除也可以的~~
回复

使用道具 举报

发表于 2008-2-8 16:50:40 | 显示全部楼层
不如给地图都加上垃圾回收吧。这样才帅。
回复

使用道具 举报

发表于 2008-2-10 09:33:57 | 显示全部楼层
这是偶最痛心疾首的Bug啊~
郁闷的是,我都这样写了1年多,居然也没碰上这bug...
回复

使用道具 举报

 楼主| 发表于 2008-2-10 15:36:43 | 显示全部楼层
因为这个bug在触发条件引用不降到0之前不会出现
回复

使用道具 举报

发表于 2008-2-12 07:41:40 | 显示全部楼层
同老狼,也许我还会坚持这么写.................
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-4-28 00:17 , Processed in 0.162306 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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