This tutorial is to help you obtain crash reports generated by Minecraft. Crash reports can help developers confirm and diagnose issues and should be included in bugs on the Bug tracker whenever possible.
Obtaining the crash report file
- Navigate to your game directory as specified in your installation in the Launcher.
- On Windows, it is
%appdata%\.minecraft\by default - On MacOS, it is
~/Library/Application Support/minecraftby default - On Linux, it is
~/.minecraftby default
- On Windows, it is
- Navigate into the
crash-reportsdirectory in the game directory
- If the crash reports directory does not exist, the game may have crashed of a JVM failure, and one or multiple
hs_err_pid#####.logfile may be present in the game directory instead. Upload this file.
- If the crash reports directory does not exist, the game may have crashed of a JVM failure, and one or multiple
- There should be files named like
crash-yyyy-mm-dd_hh.mm.ss-(client/server).txt. The crash reports are named by the time of crash, with which you can decide which file is your crash report.
Deobfuscating the crash report file
Deobfuscating the crash report file with obfuscation maps and uploading the deobfuscated version to the Bug tracker may make it easier for Mojang developers to track down the cause of the crash.
Retrace is the tool to parse obfuscation maps.[1] To run retrace, you need to have Java 8 or above installed on your device.
For example, for retrace 6.3.0 beta 1, these are the artifacts (retrace itself and libraries) required to run retrace:
- https://repo1.maven.org/maven2/net/sf/proguard/proguard-retrace/6.3.0beta1/proguard-retrace-6.3.0beta1.jar
- https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/6.3.0beta1/proguard-base-6.3.0beta1.jar
- https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31.jar
- https://repo1.maven.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar
- https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.31/kotlin-stdlib-common-1.3.31.jar
- https://repo1.maven.org/maven2/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0.1.0/kotlinx-metadata-jvm-0.1.0.jar
Download these jars. Do not rename them. Put them in the same directory, where you are going to perform the deobfuscation.
Download the client obfuscation map corresponding to your game version on which the crash happened (The client obfuscation map includes everything for the server), and keep its client.txt name. Put it in this directory as well.
Copy or move your crash report to this directory as well. You can give it a simpler name like crash.txt so it is easier for you to type its name in command line interface later.
Open a command line interface, such as powershell, bash, or command prompt, and run
java -jar proguard-retrace-6.3.0beta1.jar client.txt crash.txt > output.txt
Replace crash.txt with the crash report's file name.
Then, the deobfuscated crash report will be dumped into output.txt, which is ready to be shared in issue's file uploads on the bug tracker.
References
- ↑ ProGuard manual | Retrace — Guardsquare。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 開發週期 |
| ||||||
| 技術 |
| ||||||
| 多人遊戲 | |||||||
| 遊戲訂製 | |||||||