跳至主要內容

RustRover 中的除錯

在本指南中,我們將設定 JetBrains RustRover,以除錯 Tauri 應用程式的核心程序

設定 Cargo 專案

根據專案中使用的前端堆疊,專案目錄可能是或可能不是 Cargo 專案。預設情況下,Tauri 會將 Rust 專案放在稱為 src-tauri 的子目錄中。只有當 Rust 也用於前端開發時,它才會在根目錄中建立 Cargo 專案。

如果頂層沒有 Cargo.toml 檔案,您需要手動附加專案。開啟 Cargo 工具視窗(在主選單中,前往 檢視 | 工具視窗 | Cargo),按一下工具列上的 +附加 Cargo 專案),然後選取 src-tauri/Cargo.toml 檔案。

或者,您可以透過將下列檔案新增至專案的根目錄,手動建立頂層 Cargo 工作區

Cargo.toml
[workspace]
members = ["src-tauri"]

在您繼續之前,請確定您的專案已完全載入。如果 Cargo 工具視窗顯示工作區的所有模組和目標,您就可以開始了。

設定執行組態

您需要設定兩個獨立的執行/偵錯組態

  • 一個用於以偵錯模式啟動 Tauri 應用程式,
  • 另一個用於執行您選擇的前端開發伺服器。

Tauri 應用程式

  1. 在主選單中,前往 執行 | 編輯組態
  2. 執行/偵錯組態對話方塊中
    • 若要建立新的組態,請按一下工具列上的+,然後選取Cargo

Add Run/Debug Configuration Add Run/Debug Configuration

建立完畢後,我們需要設定 RustRover,以便指示 Cargo 在沒有任何預設功能的情況下建置我們的應用程式。這會告訴 Tauri 使用您的開發伺服器,而不是從磁碟讀取資產。通常,此旗標是由 Tauri CLI 傳遞,但由於我們在此完全避開它,因此我們需要手動傳遞旗標。

Add `--no-default-features` flag Add `--no-default-features` flag

現在,我們可以選擇性地將執行/偵錯組態重新命名為較容易記住的名稱,在此範例中,我們將其稱為「執行 Tauri 應用程式」,但您可以將其命名為您想要的任何名稱。

Rename Configuration Rename Configuration

開發伺服器

上述組態將直接使用 Cargo 建置 Rust 應用程式,並將偵錯器附加到其中。這表示我們完全避開 Tauri CLI,因此不會執行beforeDevCommandbeforeBuildCommand等功能。我們需要手動執行開發伺服器來處理這項工作。

若要建立對應的執行組態,您需要檢查實際使用的開發伺服器。尋找src-tauri/tauri.conf.json檔案,並找出下列列

    "beforeDevCommand": "pnpm dev"

對於npmpnpmyarn,您可以使用npm執行組態,例如

NPM Configuration NPM Configuration

請確定指令指令碼套件管理員欄位中的值正確無誤。

如果您的開發伺服器是基於 Rust 的 WebAssembly 前端架構的trunk,您可以使用一般性的Shell Script執行組態

Trunk Serve Configuration Trunk Serve Configuration

啟動除錯工作階段

若要啟動除錯工作階段,您首先需要執行您的開發伺服器,然後按一下執行組態切換器旁的除錯按鈕,開始除錯 Tauri 應用程式。RustRover 會自動辨識放置在專案中任何 Rust 檔案中的中斷點,並在觸發第一個中斷點時停止。

Debug Session Debug Session

從此處,您可以探索變數的值、進一步深入程式碼,並詳細檢查執行期間的狀況。