本教學將幫助您取得由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://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
對於Windows 10及以上版本的使用者,可以在終端執行以下指令下載所有檔案。
curl.exe -C - --retry 15 -O https://repo1.maven.org/maven2/net/sf/proguard/proguard-retrace/6.3.0beta1/proguard-retrace-6.3.0beta1.jar&curl.exe -C - --retry 15 -O https://repo1.maven.org/maven2/net/sf/proguard/proguard-base/6.3.0beta1/proguard-base-6.3.0beta1.jar&curl.exe -C - --retry 15 -O https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3.31/kotlin-stdlib-1.3.31.jar&curl.exe -C - --retry 15 -O https://repo1.maven.org/maven2/org/jetbrains/annotations/13.0/annotations-13.0.jar&curl.exe -C - --retry 15 -O https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.31/kotlin-stdlib-common-1.3.31.jar&curl.exe -C - --retry 15 -O https://repo1.maven.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。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 開發週期 |
| ||||||
| 技術 |
| ||||||
| 多人遊戲 | |||||||
| 遊戲訂製 | |||||||