在 RustRover 中调试
在本指南中,我们将设置 JetBrains RustRover 以调试 Tauri 应用程序的核心进程。
设置 Cargo 项目
根据项目中使用的前端堆栈,项目目录可能是一个 Cargo 项目,也可能不是。默认情况下,Tauri 将 Rust 项目放在名为 src-tauri
的子目录中。它仅在 Rust 也用于前端开发时才在根目录中创建 Cargo 项目。
如果顶级没有 Cargo.toml
文件,则需要手动附加项目。打开 Cargo 工具窗口(在主菜单中,转到视图 | 工具窗口 | Cargo),单击工具栏上的+(附加 Cargo 项目),然后选择 src-tauri/Cargo.toml
文件。
或者,你可以通过将以下文件添加到项目的根目录来手动创建一个顶级 Cargo 工作区
[workspace]
members = ["src-tauri"]
在继续之前,请确保你的项目已完全加载。如果 Cargo 工具窗口显示了工作区的全部模块和目标,则可以继续了。
设置运行配置
你需要设置两个独立的运行/调试配置
- 一个用于在调试模式下启动 Tauri 应用程序,
- 另一个用于运行你选择的用于前端开发的服务器。
Tauri 应用程序
- 在主菜单中,转到运行 | 编辑配置。
- 在运行/调试配置对话框中
- 要创建新配置,请单击工具栏上的+并选择Cargo。
创建后,我们需要配置 RustRover,以便它指示 Cargo 在没有任何默认功能的情况下构建我们的应用程序。这将告诉 Tauri 使用你的开发服务器,而不是从磁盘读取资产。通常,此标志由 Tauri CLI 传递,但由于我们在这里完全绕过了 CLI,因此我们需要手动传递标志。
现在,我们可以选择性地将运行/调试配置重命名为更令人难忘的名称,在此示例中,我们称之为“运行 Tauri 应用程序”,但你可以随意命名。
开发服务器
上述配置将直接使用 Cargo 构建 Rust 应用程序并附加调试器。这意味着我们完全绕过了 Tauri CLI,因此诸如 beforeDevCommand
和 beforeBuildCommand
之类的功能将不会被执行。我们需要通过手动运行开发服务器来解决此问题。
要创建相应的运行配置,你需要检查实际使用的开发服务器。查找 src-tauri/tauri.conf.json
文件并找到以下行
"beforeDevCommand": "pnpm dev"
对于 npm
、pnpm
或 yarn
,你可以使用npm运行配置,例如
确保在命令、脚本和包管理器字段中输入正确的值。
如果你的开发服务器是基于 Rust 的 WebAssembly 前端框架的 trunk
,则可以使用通用的Shell 脚本运行配置
启动调试会话
要启动调试会话,首先需要运行开发服务器,然后单击“运行配置切换器”旁边的调试按钮开始调试 Tauri App。RustRover 将自动识别放置在项目中任何 Rust 文件中的断点,并在命中第一个断点时停止。
从这一点开始,你可以探索变量的值,进一步深入代码,并详细检查运行时的内容。