调试
Tauri 中有许多移动部件,你可能会遇到需要调试的问题。 错误详细信息会打印在许多位置,并且 Tauri 包含一些工具,可使调试过程更直接。
调试工具包中最有用的工具之一是能够在代码中添加调试语句。 但是,通常不希望这些语句出现在生产环境中,因此检查是否处于开发模式的能力就派上用场了。
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 控制台。 这在您运行(例如)tauri dev
的终端中。 您可以使用以下代码从 Rust 文件内部将内容打印到该控制台
println!("Message from Rust: {}", msg);
有时您的 Rust 代码中可能会出现错误,Rust 编译器可以为您提供大量信息。 例如,如果 tauri dev
崩溃,您可以在 Linux 和 macOS 上这样重新运行它
RUST_BACKTRACE=1 tauri dev
或在 Windows (PowerShell) 上这样重新运行
$env:RUST_BACKTRACE=1tauri 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,然后选择 Inspect Element
。 这将打开一个类似于您惯用的 Chrome 或 Firefox 开发工具的 Web 检查器。 您还可以使用 Linux 和 Windows 上的 Ctrl + Shift + i
快捷方式以及 macOS 上的 Command + Option + i
快捷方式打开检查器。
检查器是平台特定的,在 Linux 上呈现 webkit2gtk WebInspector,在 macOS 上呈现 Safari 的检查器,在 Windows 上呈现 Microsoft Edge DevTools。
您可以使用 WebviewWindow::open_devtools
和 WebviewWindow::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(()) });
默认情况下,检查器仅在开发和调试构建中启用,除非您使用 Cargo 功能启用它。
要创建调试版本,请运行 tauri build --debug
命令。
npm run tauri build -- --debug
yarn tauri build --debug
pnpm tauri build --debug
deno task tauri build --debug
bun tauri build --debug
cargo 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