跳到主要內容
Tauri

除錯

在 Tauri 中有許多活動部件,您可能會遇到需要除錯的問題。有許多地方會印出錯誤詳細資訊,而 Tauri 包含一些工具,使除錯過程更加直接。

僅限開發環境程式碼

除錯工具包中最有用的工具之一是在程式碼中新增除錯陳述式的功能。但是,您通常不希望這些最終出現在生產環境中,這就是檢查您是否在開發模式下執行的功能派上用場的地方。

在 Rust 中

fn main() {
// Whether the current instance was started with `tauri dev` or not.
#[cfg(dev)]
{
// `tauri dev` only code
}
if cfg!(dev) {
// `tauri dev` only code
} else {
// `tauri build` only code
}
let is_dev: bool = tauri::is_dev();
// Whether debug assertions are enabled or not. This is true for `tauri dev` and `tauri build --debug`.
#[cfg(debug_assertions)]
{
// Debug only code
}
if cfg!(debug_assertions) {
// Debug only code
} else {
// Production only code
}
}

Rust 主控台

尋找錯誤的第一個地方是在 Rust 主控台中。這是在您執行(例如 tauri dev)的終端機中。您可以使用以下程式碼從 Rust 檔案中將內容印到該主控台

println!("Message from Rust: {}", msg);

有時您的 Rust 程式碼中可能存在錯誤,而 Rust 編譯器可以為您提供大量資訊。例如,如果 tauri dev 崩潰,您可以在 Linux 和 macOS 上像這樣重新執行它

RUST_BACKTRACE=1 tauri dev

或在 Windows (PowerShell) 上像這樣重新執行

$env:RUST_BACKTRACE=1
tauri dev

此命令會提供您細微的堆疊追蹤。一般來說,Rust 編譯器會透過提供有關問題的詳細資訊來幫助您,例如

error[E0425]: cannot find value `sun` in this scope
--> src/main.rs:11:5
|
11 | sun += i.to_string().parse::<u64>().unwrap();
| ^^^ help: a local variable with a similar name exists: `sum`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0425`.

WebView 主控台

在 WebView 中按一下滑鼠右鍵,然後選擇 檢查元素。這會開啟一個類似於您習慣使用的 Chrome 或 Firefox 開發者工具的網頁檢查器。您也可以使用 Linux 和 Windows 上的 Ctrl + Shift + i 快捷鍵,以及 macOS 上的 Command + Option + i 來開啟檢查器。

檢查器是平台特定的,在 Linux 上呈現 webkit2gtk WebInspector,在 macOS 上呈現 Safari 的檢查器,在 Windows 上呈現 Microsoft Edge DevTools。

以程式方式開啟開發者工具

您可以使用 WebviewWindow::open_devtoolsWebviewWindow::close_devtools 函數來控制檢查器視窗的可見性

tauri::Builder::default()
.setup(|app| {
#[cfg(debug_assertions)] // only include this code on debug builds
{
let window = app.get_webview_window("main").unwrap();
window.open_devtools();
window.close_devtools();
}
Ok(())
});

在生產環境中使用 Inspector

預設情況下,檢查器僅在開發和除錯版本中啟用,除非您使用 Cargo 功能啟用它。

建立除錯版本

若要建立除錯版本,請執行 tauri build --debug 命令。

npm run tauri build -- --debug

與正常的建置和開發程序一樣,第一次執行此命令時,建置會花費一些時間,但在後續執行時會顯著加快。最終的捆綁應用程式已啟用開發主控台,並放置在 src-tauri/target/debug/bundle 中。

您也可以從終端機執行已建置的應用程式,為您提供 Rust 編譯器注意事項(在發生錯誤時)或您的 println 訊息。瀏覽至檔案 src-tauri/target/(release|debug)/[應用程式名稱],然後直接在主控台中執行它,或在檔案系統中雙擊可執行檔本身(注意:使用此方法,主控台會在發生錯誤時關閉)。

啟用開發者工具功能

若要在生產版本中啟用開發者工具,您必須在 src-tauri/Cargo.toml 檔案中啟用 devtools Cargo 功能

[dependencies]
tauri = { version = "...", features = ["...", "devtools"] }

除錯核心程序

核心程序由 Rust 驅動,因此您可以使用 GDB 或 LLDB 來除錯它。您可以依照在 VS Code 中除錯指南,了解如何使用 LLDB VS Code 擴充功能來除錯 Tauri 應用程式的核心程序。


© 2025 Tauri 貢獻者。CC-BY / MIT