在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传递,但由于我们在这里完全绕过了它,因此我们需要手动传递此标志。
现在,我们可以选择将运行/调试配置重命名为更易于记忆的名称,在本例中我们将其命名为“运行Tauri应用”,但您可以随意命名。
开发服务器
上述配置将直接使用Cargo构建Rust应用程序并将调试器附加到它。这意味着我们完全绕过了Tauri CLI,因此`beforeDevCommand`和`beforeBuildCommand`等功能将**不会**执行。我们需要手动运行开发服务器来处理这个问题。
要创建相应的运行配置,您需要检查实际使用的开发服务器。查找`src-tauri/tauri.conf.json`文件并找到以下行:
"beforeDevCommand": "pnpm dev"
对于`npm`、`pnpm`或`yarn`,您可以使用**npm**运行配置,例如:
确保在**命令**、**脚本**和**包管理器**字段中使用了正确的数值。
如果您的开发服务器是用于基于Rust的WebAssembly前端框架的`trunk`,则可以使用通用的**Shell脚本**运行配置。
启动调试会话
要启动调试会话,您首先需要运行开发服务器,然后通过单击运行配置切换器旁边的**调试**按钮来开始调试Tauri应用程序。RustRover将自动识别项目中任何Rust文件中设置的断点,并在命中第一个断点时停止。
从这一点开始,您可以浏览变量的值,进一步深入代码,并详细检查运行时的情况。