后浪云Minecraft Wiki教程:获取崩溃报告日志文件[ ]
关于如何在较老旧的不会自动显示崩溃报告的版本中获取崩溃报告,请见“
教程/获取崩溃报告/旧版”。
此特性为Java版独有。
本教程将帮助你获取由Minecraft生成的崩溃报告。崩溃报告可以帮助开发人员确认和诊断问题,并应尽可能包含在漏洞追踪器上的报告中。
获取崩溃报告日志文件[ ]
首先,你需要找到启动器所使用的游戏目录。
- 如果你使用的是官方启动器:
-
- 在Windows,它默认位于
%appdata%\.minecraft\
; - 在MacOS,它默认位于
~/Library/Application Support/minecraft
; - 在Linux它默认位于
~/.minecraft
。
- 在Windows,它默认位于
- 导航到游戏目录中的
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本身及其使用的库):
- https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-retrace/6.3.0beta1/proguard-retrace-6.3.0beta1.jar
- https://repo.maven.apache.org/maven2/net/sf/proguard/proguard-base/6.3.0beta1/proguard-base-6.3.0beta1.jar
- https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31.jar
- https://repo.maven.apache.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar
- https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.31/kotlin-stdlib-common-1.3.31.jar
- https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.1.0/kotlinx-metadata-jvm-0.1.0.jar
下载这些文件。不要重命名。并将它们放进同一个目录下,此目录用作反混淆。
下载与发生崩溃的游戏版本相对应的客户端混淆映射表(客户端的混淆映射表包含了服务端混淆映射表的所有内容),使其保持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
,后即可将其上传到漏洞追踪器。
引用[ ]
- ↑ ProGuard manual | Retrace — Guardsquare。
教程(作下划线标记的教程为中文独有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Java版 | |||||||
---|---|---|---|---|---|---|---|
版本 |
|
||||||
开发周期 |
|
||||||
技术 |
|
||||||
多人游戏 |
|
||||||
游戏订制 |
|