除錯當機

當機

當應用程式當機時,macOS 會在 ~/Library/Logs/DiagnosticReports 中建立一個 .ips 檔案。您可以使用內建的「主控台」應用程式(cmd-space 主控台)在「當機報告」下檢視這些檔案。

如果您已啟用 Zed 的遙測功能,這些檔案將在您重新啟動應用程式時上傳給我們。它們會儲存在 Datadog 中,並存放在一個 Slack 頻道(僅限內部使用)

這些當機報告是由當機的二進制檔案所產生,並包含大量資訊;但由於以下幾個原因,它們難以閱讀

  • 它們不包含原始程式碼檔案和行號
  • 符號已被 編碼
  • 內聯函數已被省略

若要更清楚地了解當機的回溯追蹤,您可以將 .ips 檔案下載到本機並執行

./script/symbolicate ~/path/zed-XXX-XXX.ips

這將從我們的公開 DigitalOcean 儲存空間 下載正確的除錯符號,並為您執行 符號化

輸出包含原始程式碼檔案和行號,以及每個內聯框架的解碼符號資訊。

Panic

當應用程式在 Rust 層級發生 panic 時,Zed 會在 ~/Library/Logs/Zed 中建立一個檔案,其中包含 panic 的文字和回溯追蹤的摘要。在開機時,如果您已啟用遙測功能,我們會上傳這些 panic 資訊,以便我們追蹤它們。

Panic 也被視為當機,因此對於大多數 panic,我們會同時取得當機報告和 panic 資訊。