《Payday2》如何查看报错

您所在的位置:网站首页 wolfhud闪退 《Payday2》如何查看报错

《Payday2》如何查看报错

2024-07-12 21:11| 来源: 网络整理| 查看: 265

在《Payday2》(下称“游戏”)中,多个模组(.lua)脚本很可能因为冲突而导致崩溃(crash)。 游戏崩溃后,将会生成一个崩溃日志(crashlog.txt);此文章的主题意在教学如何分析日志。

崩溃日志结构

崩溃日志的结构是固定的,每次生成的崩溃日志结构如下:

由此可见,日志被分为4个结构

崩溃时间和主要原因

调用栈

错误详细原因

系统信息

日志的重点,当然是错误详细原因;当然崩溃时间和主要原因也可以帮你找出问题。因此,下文将会用两个小节说明如何解析这两个问题。

错误详细原因

在【Script stack】(【脚本栈】)后,会详细地将报错瞬间调用的脚本写出。 它们分为两个部分,并且按照以下结构:

举个简单的例子,像是 【weapon factory manager】与【dynamic resource manager】冲突载入引起的错误 是这个样子的:

调用函数中,说明了目前进行到了哪个步骤,如同举例:

游戏崩溃日志文件的报错,都可以通过这种办法进行翻译。

你会注意到,调用内容路径是报错Mod发生的路径,也就是说,根据路径可以判断出是哪个Mod在什么步骤出了问题。

然而,前面四行并不能看出问题的所在,看来是顺利载入了。 让我们看向最后两行:    

由此可见,这是两个mod在调用指针的时候冲突导致的游戏崩溃。

以上,此教程已经完成了。但是,只有简单例子并不能很好的理解,所以再加一个常见的例子:HUD类报错

可见,在步骤(第8行)setupplayerinfohudpd2()  直译是:初始化游戏玩家HUD (此步骤属于WolfHUD创造的函数)同时,也载入了另一个HUD第9、10、11行: setup | loadHUD | initfinalize即分三个步骤初始化了另一个HUD管理Mod:HUD Manager之后,游戏在两个Mod初始化后,core/lib/setups/coresetup.lua,游戏核心停止。

根据上述部分可以推断出,是两个Hud Mod导致的游戏崩溃。

如何进行处理

在找出是何种原因导致的游戏崩溃后,你可以进行处理:

简单处理:删除冲突Mod.

兼容处理:修复不兼容部分(需要一定的C++/C#/lua知识)

一般地,如果你不希望进行兼容性处理,在删除Mod后,尝试联系Mod作者,询问作者是否可以作出兼容性修复。

结语

教程已经完成。 感谢您的阅读,转载请注明出处。

广告:如果您正在寻求一个友好的游戏社区,请加入QQ群:479903937。此文章也在此处发布:https://www.lomenot.ru/announcement/payday2-error



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3