跳至主要内容

在 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 传递,但由于我们在这里完全绕过了 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 脚本运行配置

Trunk Serve Configuration Trunk Serve Configuration

启动调试会话

要启动调试会话,首先需要运行开发服务器,然后单击“运行配置切换器”旁边的调试按钮开始调试 Tauri App。RustRover 将自动识别放置在项目中任何 Rust 文件中的断点,并在命中第一个断点时停止。

Debug Session Debug Session

从这一点开始,你可以探索变量的值,进一步深入代码,并详细检查运行时的内容。