本教學將吿訴你如何取得遊戲產生的崩潰報吿。崩潰報吿可以幫助開發者或其它有經驗的玩家為您診斷及解決問題,而且也應該在錯誤追蹤器中提交報吿時一同上載。
取得崩潰報吿檔案
首先,你需要找到啟動器所使用的遊戲目錄。
- 如果你使用的是官方啟動器:
- 在Windows,它預設位於
%appdata%\.minecraft\; - 在MacOS,它預設位於
~/Library/Application Support/minecraft; - 在Linux它預設位於
~/.minecraft。
- 在Windows,它預設位於
- 如果你使用的是第三方啟動器,其通常都會擁有一個遊戲目錄的設定。大多數啟動器都會將預設目錄設定為其所在的資料夾的
.minecraft子資料夾,或是直接使用上方的官方啟動器目錄。由於這因啟動器的不同而異,詳細資訊請查看啟動器的設定和說明頁面。
如果你已經成功定位了遊戲目錄,只需要打開它的crash-reports子資料夾,即可看到所有的崩潰報吿。
- 如果你沒看到的話,這説明你可能使用了版本隔離——一種特殊的檔案目錄管理設定,使各個版本使用獨立的數據。這種情況下只需要打開
versions資料夾,找到你崩潰時所遊玩的版本所對應的資料夾,崩潰報吿就在它的crash-reports子目錄中。
- 如果以上兩個位置都沒能找到崩潰報吿,或是
crash-reports資料夾不存在,這説明遊戲可能是因為Java虛擬機故障導致的崩潰。此時遊戲目錄中應當含有一個或多個hs_err_pid#####.log檔案。它就是你要找的崩潰報吿了。
- 如果以上兩個位置都沒能找到崩潰報吿,或是
- 崩潰報吿的檔案名遵循此格式:
crash-yyyy-mm-dd_hh.mm.ss-(client/server).txt。你需要根據崩潰報吿生成的時間來判斷哪個報吿是你所需要的。
對報吿進行反混淆
自19w36a開始,所有公開發布的遊戲版本都會附帶混淆映射表。你可以利用它來對報吿進行反混淆,使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
下載這些檔案,把它們放進同一個目錄中。
下載對應版本的用戶端混淆映射表(用戶端的混淆映射表包含了伺服器端混淆映射表的所有內容),且不要對它重新命名(使其保持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。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 版本 | |||||||
|---|---|---|---|---|---|---|---|
| 開發週期 |
| ||||||
| 技術 |
| ||||||
| 多人遊戲 | |||||||
| 遊戲訂製 | |||||||