本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知
本站是中文Minecraft Wiki的镜像站,与Mojang AB、Gamepedia没有从属关系。(免责声明

教程/如何获取崩溃报告

来自Minecraft WIKI
跳到导航 跳到搜索
页面贡献者 :
中文mcwiki机器人

本教程将帮助您获取由Minecraft生成的崩溃报告。崩溃报告可以帮助开发人员确认和诊断问题,并应尽可能包含在漏洞追踪器上的报告中。

获取崩溃报告日志文件

首先,你需要找到启动器所使用的游戏目录。

  • 如果你使用的是官方启动器:
  • 在Windows,它默认位于%appdata%\.minecraft\
  • 在MacOS,它默认位于~/Library/Application Support/minecraft
  • 在Linux它默认位于~/.minecraft
  • 导航到游戏目录中的crash-reports目录
  • 如果crash-reports文件夹不存在,这说明游戏可能是因为Java虚拟机故障导致的崩溃。此时游戏目录中应当含有一个或多个hs_err_pid#####.log文件。上传此文件。
  • 崩溃报告的文件名遵循此格式:crash-yyyy-mm-dd_hh.mm.ss-(client/server).txt。你需要根据崩溃报告生成的时间来判断哪个报告是你所需要的。

对报告进行反混淆

参见:混淆映射表

使用混淆映射表反混淆崩溃报告文件,并将已反混淆的版本上传到漏洞追踪器可能会使Mojang开发人员更容易找到崩溃的原因。

Retrace是一款解析混淆映射表并进行反混淆的工具。[1]为了运行Retrace,你需要在设备上安装Java 8或更高版本的Java。

例如,对于Retrace 6.3.0 beta 1版本,这些是此软件所需要的文件(Retrace本身及其使用的库):

下载这些文件。不要重命名。并将它们放进同一个目录下,此目录用作反混淆。

下载与发生崩溃的游戏版本相对应的客户端混淆映射表(客户端的混淆映射表包含了服务端混淆映射表的所有内容),使其保持client.txt文件名。将其与上面的东西放在同一个目录下。

将你的崩溃报告也复制或移动进上面的目录中。同时也可以将它重命名成一个更易辩识的文件名,例如crash.txt,这样将会使你在命令行界面执行后续步骤时更容易键入它的名称。

打开你的命令行界面,例如Windows中的命令提示符、PowerShell,MacOS的终端,Linux的Bash等等。首先你需要在命令行中将路径切换为以上东西所在的目录:

cd (路径)

对于Windows用户,你可以直接在文件夹中按住Shift并右击空白处,再选择“在此处打开PowerShell窗口”。之后执行以下命令:

java -jar proguard-retrace-6.3.0beta1.jar client.txt crash.txt > output.txt

当你的崩溃日志的文件名称不一样时,请将crash.txt重命名为崩溃日志的文件名。

之后,报告便会在反混淆后输出为output.txt,后即可将其上传到漏洞追踪器

引用