Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Disambig gray  关于如何在较老旧的不会自动显示崩溃报告的版本中获取崩溃报告,请见“教程/获取崩溃报告/旧版”。
Information icon
此特性为Java版独有。

本教程将帮助你获取由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,后即可将其上传到漏洞追踪器

引用[]

  1. ProGuard manual | Retrace  — Guardsquare。


语言

Advertisement