找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2694|回复: 9

[已解决问题] 关于ARES_3.0p1稳定性的探讨

[复制链接]
发表于 2025-9-25 09:56:16 | 显示全部楼层 |阅读模式
本帖最后由 seven800 于 2025-10-2 00:28 编辑

前几年做的MOD,每次玩到1小时左右都会弹框。
这两年一直在断断续续优化代码,但这个问题始终没有解决。

这几天试了一下排除法,下载了一个纯净版的YR,只加入了ARES_3.0p1补丁,代码只开了观察者,让8家电脑混战,游戏速度开到最快。
这种情况下基本上运行20分钟左右就会弹框,我试了很多次,结果都一样。

EIP内容都差不多,全是内存读取错误,Exception code: C0000005 at xxxxxxxx

我用Windows SDK对debug文件进行了整体分析,豆包是这样说的:

从最新调试日志来看,崩溃的[color=var(--md-box-samantha-deep-text-color) !important]核心逻辑与前几次完全一致:始终是 gamemd.exe0042c507 地址因「无效数组索引」(EAX=fffb813b)触发内存读取错误,且无第三方 DLL 参与。这说明问题已锁定在 [color=var(--md-box-samantha-deep-text-color) !important]gamemd.exe 依赖的「核心数据层」(配置文件或资源文件)



崩溃本质:无效数组索引导致的内存读取错误
  • [color=var(--md-box-samantha-deep-text-color) !important]错误指令:gamemd+0x2c507 处的指令 mov edx,dword ptr [ecx+eax*4+4]
    这是一条[color=var(--md-box-samantha-deep-text-color) !important]数组元素读取指令,逻辑是:从数组基地址 ECX 开始,以 EAX 为索引(每个元素占 4 字节),再偏移 4 字节,读取对应内存的值到 EDX。
  • [color=var(--md-box-samantha-deep-text-color) !important]无效索引导致错误:日志中 EAX=fffb813b(一个极大的负数,换算为无符号数接近 4GB),用这个值作为数组索引,会计算出无效内存地址 0042c507,最终触发 Access violation(读取无效内存)


不知道有没有人遇到过类似的问题,大家探讨一下。


问题已解决,结果真的是环境问题。
win10+YR1.006+ares_3.0p1+Phobos+Kratos

安装Visual C++ 运行库 2005-2025。


发表于 2025-9-25 22:43:53 | 显示全部楼层
本帖最后由 航味麻酱 于 2025-9-25 22:49 编辑

加上pbs b48再试试。

42c507是PathFinder的函数,热茶之前打了补丁,尝试通过提高缓冲区尺寸解决这个问题。
回复

使用道具 举报

 楼主| 发表于 2025-9-26 01:35:15 | 显示全部楼层
航味麻酱 发表于 2025-9-25 22:43
加上pbs b48再试试。

42c507是PathFinder的函数,热茶之前打了补丁,尝试通过提高缓冲区尺寸解决这个问题 ...

多谢,找时间试试
回复

使用道具 举报

发表于 2025-9-26 01:50:30 来自手机 | 显示全部楼层
是远古大佬,重操旧业了?!
回复

使用道具 举报

 楼主| 发表于 2025-9-26 10:37:33 | 显示全部楼层
nua 发表于 2025-9-26 01:50
是远古大佬,重操旧业了?!

最近多了一些空余时间,正好研究一下
回复

使用道具 举报

发表于 2025-9-27 20:38:47 | 显示全部楼层
代码盲无责任猜一下,按照你的说法,这个巨大的HEX负数(4G)可能是顶到红警的内存地址取址上限了?红警这么古早的exe,那个时代给内存取址定4G应该是绰绰有余,现在的MOD可不太好说了
回复

使用道具 举报

 楼主| 发表于 2025-9-27 21:45:47 | 显示全部楼层
做了两天的测试,依然没有解决问题。win10+YR1.006+ares_3.0p1+Phobos+Kratos,只修改了灰熊的素材(素材没有打包,直接放根目录),8家混战开观察者,游戏速度开最快,稳定在25分钟左右弹框。全是Exception code: C0000005 at 0042C5BB。C0000005 每次一样,后面这个地址每次不一样。
前面有同学怀疑运行环境,我寻思既然能运行,环境应该没问题。

彻底没办法了,本来还想重置一下MOD,这下直接劝退了
回复

使用道具 举报

发表于 2025-9-28 17:03:26 来自手机 | 显示全部楼层
地图是多大的,我的任务里面的巨型地图也会触发寻路错误
回复

使用道具 举报

发表于 2025-9-29 12:05:21 | 显示全部楼层
所以说它确实解决了42c507?
回复

使用道具 举报

发表于 2025-10-8 19:11:07 | 显示全部楼层
航味麻酱 发表于 2025-9-25 22:43
加上pbs b48再试试。

42c507是PathFinder的函数,热茶之前打了补丁,尝试通过提高缓冲区尺寸解决这个问题 ...

b48和Kratos能共存吗,目前非常需要自定义光照这个功能
回复

使用道具 举报

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

本版积分规则

小黑屋|Archiver|手机版|管理员邮箱|红警DIY论坛 |网站地图

GMT+8, 2026-6-14 05:31 , Processed in 0.075840 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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