UDK 错误,如何检查故障转储

Posted

技术标签:

【中文标题】UDK 错误,如何检查故障转储【英文标题】:UDK error, how to examine crash dump 【发布时间】:2014-08-16 11:54:28 【问题描述】:

我正在使用 UDK 开发游戏,有时在重新启动关卡或尝试打开新关卡时游戏会崩溃。

我无法通过日志文件找到问题,它们只是显示一个严重错误。

现在我正在尝试通过检查故障转储来修复它,但我不知道如何执行此操作。有谁知道我如何进一步调查这个问题?我尝试了一些我在网上找到的东西,这就是我目前所拥有的。

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for UDK.exe - 
eax=00000000 ebx=39280070 ecx=0cdc0f10 edx=ffffffff esi=2a193f40 edi=296f96a0
eip=01c2caf3 esp=007cdf84 ebp=2c0132b0 iopl=0         nv up ei pl zr na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
UDK!GetStackOwnerClass+0x10a73:
01c2caf3 8b10            mov     edx,dword ptr [eax]  ds:002b:00000000=????????
0:000> !sym noisy
noisy mode - symbol prompts on
0:000> lmvm ntdll
start    end        module name
77890000 77a10000   ntdll      (export symbols)       ntdll.dll
    Loaded symbol image file: ntdll.dll
    Mapped memory image file: C:\Windows\SysWOW64\ntdll.dll
    Image path: C:\Windows\SysWOW64\ntdll.dll
    Image name: ntdll.dll
    Timestamp:        Thu Aug 29 03:50:31 2013 (521EA8E7)
    CheckSum:         00140982
    ImageSize:        00180000
    File version:     6.1.7601.18247
    Product version:  6.1.7601.18247
    File flags:       0 (Mask 3F)
    File OS:          40004 NT Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0409.04b0
    CompanyName:      Microsoft Corporation
    ProductName:      Microsoft® Windows® Operating System
    InternalName:     ntdll.dll
    OriginalFilename: ntdll.dll
    ProductVersion:   6.1.7601.18247
    FileVersion:      6.1.7601.18247 (win7sp1_gdr.130828-1532)
    FileDescription:  NT Layer DLL
    LegalCopyright:   © Microsoft Corporation. All rights reserved.

【问题讨论】:

【参考方案1】:

WINDbg中最基本的分析是用

.symfix
.reload
!analyze -v

既然它崩溃了,应该是某处有异常。试试

.ecxr
.exr -1

调用堆栈也可能很有趣。由于这是关于 UDK(虚幻引擎开发工具包),我假设它是用 C++ 编写的,因此我们需要一个本机调用堆栈

k

【讨论】:

以上是关于UDK 错误,如何检查故障转储的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 erlang 故障转储文件?

执行转储数据时对“错误:无法序列化数据库:”进行故障排除

将自定义数据包含到 iOS 故障转储中

如何获取已处理异常的故障转储?

如何从启用优化(发布模式)构建的二进制文件中分析故障转储?

如何在 CrashRpt 中配置电子邮件设置以发送故障转储?