调试与开发者工具
调试与开发者工具
Section titled “调试与开发者工具”构建应用程序通常是 20% 编写代码,80% 弄清楚它为什么不工作。在 Tauri 独特的“三明治”架构中,调试需要双重方法:一套工具用于 Web 前端(web frontend),另一套用于 Rust 后端(Rust backend)。本章将为你提供解决代码中谜团所需的侦探工具包。
前端故障排除:Web Inspector
Section titled “前端故障排除:Web Inspector”由于你的 Tauri 应用程序的视觉层(visual layer)本质上是一个在系统 WebView 中运行的网页,你可以使用你已经熟悉并喜爱的 Web 开发工具。
当你在开发模式(development mode)下运行应用程序(tauri dev)时,Web Inspector 默认是启用的。你可以像在浏览器中一样打开它:
- Windows/Linux:在应用程序窗口中的任意位置右键点击并选择 Inspect(检查)。或者,按下
Ctrl + Shift + I(或F12)。 - macOS:右键点击并选择 Inspect Element(检查元素)。如果此选项不可见,你可能需要在 Safari 的设置中启用“开发”(Develop)菜单,因为 Tauri 在 macOS 上使用 WebKit。
在 Inspector 内部,你可以访问控制台(Console,用于 JavaScript 错误)、网络选项卡(Network tab,查看资源加载)和元素选项卡(Elements tab,调试 CSS 布局问题)。
后端逻辑:println!、日志记录和追踪
Section titled “后端逻辑:println!、日志记录和追踪”调试 Rust 端需要不同的方法。WebView 控制台不会自动显示 Rust 错误。查看核心进程(Core Process)中发生的情况最简单的方法是使用标准输出(standard output)。
当你运行 tauri dev 时,你的终端窗口(terminal window)充当标准输出。你可以使用 println! 或 eprintln! 等宏(macros)将消息发送到那里。
#[tauri::command]fn greet(name: &str) -> String { // This message appears in your terminal running 'tauri dev' // 这条消息会出现在运行 'tauri dev' 的终端中 println!("Frontend sent name: {}", name); format!("Hello, {}!", name)}对于生产级应用程序(production-grade applications),简单的打印语句(print statements)是不够的。我们建议使用 log crate 或 tracing crate 结合 Tauri Log 插件。这允许你配置日志级别(log levels)(Info, Debug, Error),甚至将 Rust 日志转发到前端控制台(frontend console)或文件中。
使用原生调试器调试 Rust
Section titled “使用原生调试器调试 Rust”有时你需要暂停执行(pause execution)并检查内存变量(inspect memory variables)。你可以将标准的 Rust 调试器(Rust debuggers)附加到 Tauri 进程(Tauri process)。
- VS Code:使用 ‘CodeLLDB’ 扩展。你可以配置一个
.vscode/launch.json文件来附加到target/debug/中生成的应用程序二进制文件。 - JetBrains / RustRover:对将调试器附加到 Cargo 运行配置有出色的内置支持。
移动端调试技巧
Section titled “移动端调试技巧”在移动设备(mobile devices)上调试会增加一层复杂性,但现代工具(modern tooling)有效地弥合了这一差距。
Android 调试:
- 在你的 Android 设备设置中启用 USB 调试。
- 通过 USB 将设备连接到你的电脑。
- 在你的电脑上打开 Google Chrome 浏览器并导航到
chrome://inspect。 - 勾选“Discover USB devices”(发现 USB 设备)复选框。你将在“Remote Targets”(远程目标)下看到你的 Tauri 应用程序。点击 Inspect(检查)以打开一个连接到你手机的完整 DevTools 窗口。
iOS 调试:
- 将你的 iOS 设备连接到你的 Mac。
- 在你的 Mac 上打开 Safari。
- 在菜单栏中,导航到 开发 > [你的设备名称] > [你的应用]。这将为正在运行的应用打开 WebKit Web Inspector。
注意:请确保你的应用程序是使用 debug 标志构建的(在 tauri android dev / tauri ios dev 中默认启用),以便 WebView 可以被检查(inspectable)。