我在 Windows 10 上遇到游戏崩溃,有人可以查看调试器输出(转储)吗?

我在 Windows 10 上遇到游戏崩溃,有人可以查看调试器输出(转储)吗?

我在兼容所有以前版本的软件上重现了崩溃,但现在在 Windows 10 预览版上它不断崩溃,至于游戏部分,它不是由软件本身引起的,因为一切都指向导致崩溃的 ATI 驱动程序组件,因此从游戏技术上讲,无法达到或调试太多内容。如果这里有人有处理此类崩溃转储的经验,或者至少了解此转储明确提供的堆栈消息,并且可以给出崩溃的可能原因,我会非常高兴。我自己不从事 D3D/图形开发,也无法从调试器输出中读取任何内容。

这是在 ATI 模块上崩溃的游戏 Multi Theft Auto,这是用于 SA 的 MP 引擎,它可以在所有东西上运行,但对于有限的用户群(就目前而言)则不行,或者仅限于我,不知道。

调试器输出:http://pastebin.com/Bd4NPvKB

如果你有一个带有更多(ati)符号的调试器,那么这里就是转储文件本身: https://mega.co.nz/#!BEESVAqL!ynbyXuyad7vOSMuaxYzsRypa9f__6_9mHbungAUIDes

这些是崩溃参数:

版本 = 1.4-release-6949.0.000 时间 = 2014 年 11 月 28 日星期五 17:44:01 模块 = C:\WINDOWS\SYSTEM32\atiumdag.dll 代码 = 0xC0000005 偏移量 = 0x00027ED5

EAX=00000000 EBX=06D7899C ECX=00000001 EDX=00000000 ESI=06D7899C EDI=0E322B44 EBP=0029F15C ESP=0029EF48 EIP=6CCF7ED5 FLG=00010246 CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B

提前致谢

答案1

这里没什么可看的。错误指令是

6ccf7ed5 f7421800040000  test    dword ptr [edx+18h],400h

但是 edx 中有一个零,所以它指的是地址 0x18,这当然是一个从未定义的地址(从 0 到 0xFFFF 的所有 va 都是如此)。

至于 edx 是如何得到零的,我们不知道。它可能是上一条指令从内存中加载的:

6ccf7ecf 8b9624040000    mov     edx,dword ptr [esi+424h]

esi 包含一个看似合理的地址;该指令将从 0x06d78dc0 处的 dword 加载 edx。但我们无法在小型转储中看到该内存位置,而且无论如何也没有证据表明指令流来自前一条指令;测试指令可能已从其他地方 JMP 或 B'd 到。

在已发布的 Windows 版本下,系统是否完全稳定?如果不是,则怀疑硬件(显卡或电源)。

除此之外,您可能没有其他办法来修复它,只能从 ATI 获取更新的驱动程序。(或者尝试使用较旧的驱动程序 - 有时这会有所帮助。)

并且,请记住:这些甚至不是 Windows 10 的测试版;它们预计不稳定。

相关内容