Minecraft Wiki

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

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性為Java版獨有。
Disambig gray  本文章介紹的是如何定位和獲得崩潰報告。關於什麼是崩潰,請見「崩潰」。

本教學將告訴你如何取得遊戲產生的崩潰報告。崩潰報告可以幫助開發者或其它有經驗的玩家為您診斷及解決問題,而且也應該在錯誤追蹤器中提交報告時一同上傳。

取得崩潰報告檔案

首先,你需要找到啟動器所使用的遊戲目錄。

  • 如果你使用的是官方啟動器:
  • 在Windows,它預設位於%appdata%\.minecraft\
  • 在MacOS,它預設位於~/Library/Application Support/minecraft
  • 在Linux它預設位於~/.minecraft
  • 如果你使用的是第三方啟動器,其通常都會擁有一個遊戲目錄的設定。大多數啟動器都會將預設目錄設定為其所在的資料夾的.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本身及其使用的庫):

下載這些檔案,把它們放進同一個目錄中。

下載對應版本的用戶端混淆映射表(用戶端的混淆映射表包含了伺服器端混淆映射表的所有內容),且不要對它重新命名(使其保持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