IDE 调试配置
本教程共 48 篇 · 第 43 篇 · 更新于 2026-08-09 · 约 8 分钟阅读
本节目标:读完你能在 VS Code 里按 F5 启动 Tauri 应用、在 Rust 代码上设断点、单步调试,同时前端开发服务器也自动跑起来。
上一章讲了用 DevTools 和日志排查问题。但有些 bug 靠打日志不够,你需要让程序在某一行停下来,看看变量的值、调用栈的走向。这就需要 IDE 的断点调试(breakpoint debugging)。
Tauri 的核心进程(Core Process)是 Rust 编译的,所以调试 Rust 端需要用到 LLDB 或 Windows Debugger。前端 JS 的调试则用浏览器 DevTools 就行。本章重点讲怎么在 VS Code 里配置 Rust 端的断点调试,顺带提一下 JetBrains RustRover 的配置方法。
前置准备:安装 vscode-lldb 扩展
VS Code 本身不带 Rust 调试器,需要装一个扩展叫 vscode-lldb。它基于 LLDB,跨平台支持 Windows、macOS 和 Linux。
在 VS Code 扩展市场搜索 vadimcn.vscode-lldb,点安装。装好后你就能在 launch.json 里用 "type": "lldb" 类型的调试配置了。
Note如果你用的是 Windows 并且装了 Visual Studio,也可以用
cppvsdbg类型(Visual Studio Windows Debugger),对 Rust 枚举等特性的支持更好一些。后面会给出两种配置。
配置 launch.json
在项目根目录创建 .vscode/launch.json 文件,粘贴以下内容:
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Tauri Development Debug",
"cargo": {
"args": [
"build",
"--manifest-path=./src-tauri/Cargo.toml",
"--no-default-features"
]
},
"preLaunchTask": "ui:dev"
},
{
"type": "lldb",
"request": "launch",
"name": "Tauri Production Debug",
"cargo": {
"args": ["build", "--release", "--manifest-path=./src-tauri/Cargo.toml"]
},
"preLaunchTask": "ui:build"
}
]
}
这里定义了两个配置:
- Tauri Development Debug:调试模式构建,用
--no-default-features让 Tauri 走前端开发服务器而不是读打包后的静态文件 - Tauri Production Debug:Release 模式构建,性能更接近生产环境
Tip
--no-default-features很关键。默认 features 会把前端资源嵌入二进制文件,这样你就用不了热更新的开发服务器了。加上这个参数,Tauri 会连接你beforeDevCommand启动的前端 dev server。
配置 tasks.json
launch.json 里的 preLaunchTask 指向任务名,这些任务定义在 .vscode/tasks.json 中。它的作用是:按 F5 之前先把前端开发服务器跑起来。
创建 .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "ui:dev",
"type": "shell",
"isBackground": true,
"command": "npm",
"args": ["run", "dev"]
},
{
"label": "ui:build",
"type": "shell",
"command": "npm",
"args": ["run", "build"]
}
]
}
把 command 和 args 换成你实际用的包管理器和脚本。比如用 pnpm 就改成 "command": "pnpm"、"args": ["dev"];用 yarn 就改成 "command": "yarn"、"args": ["dev"]。
Note
ui:dev设了"isBackground": true,因为开发服务器会一直运行不会退出。VS Code 需要知道这是个后台任务,否则会等它结束才开始调试。理想情况下你还应该配一个problemMatcher,让 VS Code 能判断开发服务器何时就绪。详见 VS Code 文档。
开始调试
配置好后,调试流程很简单:
- 在
src-tauri/src/main.rs或任何 Rust 文件里,点行号左侧设一个红点断点 - 按
F5(或调试面板里选「Tauri Development Debug」点绿色播放按钮) - VS Code 先跑
ui:dev任务启动前端开发服务器,再用 cargo 编译 Rust 项目,编译完启动调试
程序会在断点处暂停,你可以看变量值、调用栈、逐行执行(F10 单步跳过、F11 单步进入、Shift+F11 跳出)。
Tip这个配置直接用
cargo build而不是tauri dev,所以 Tauri CLI 的某些独有功能不会执行。beforeDevCommand的工作由preLaunchTask替代完成。
Windows 专用配置:Visual Studio Debugger
如果你在 Windows 上开发,可以改用 cppvsdbg 类型,速度通常比 LLDB 更快,对 Rust 枚举的展示也更友好。
前置条件
需要安装 C/C++ 扩展(ms-vscode.cpptools),以及 Visual Studio 的 Windows Debugger 工具。按 VS Code C++ 配置文档 走一遍即可。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch App Debug",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceRoot}/src-tauri/target/debug/your-app-name-here.exe",
"cwd": "${workspaceRoot}",
"preLaunchTask": "dev"
}
]
}
把 your-app-name-here 改成你实际的可执行文件名(在 tauri.conf.json 的 productName 或 Cargo.toml 的 name 里找)。
tasks.json
这里用任务组合(dependsOn)把 cargo 编译和前端开发服务器一起跑:
{
"version": "2.0.0",
"tasks": [
{
"label": "build:debug",
"type": "cargo",
"command": "build",
"options": {
"cwd": "${workspaceRoot}/src-tauri"
}
},
{
"label": "ui:dev",
"type": "shell",
"isBackground": true,
"command": "npm",
"args": ["run", "dev"]
},
{
"label": "dev",
"dependsOn": ["build:debug", "ui:dev"],
"group": {
"kind": "build"
}
}
]
}
launch.json 里的 preLaunchTask 指向 dev,这个任务会同时触发 cargo 编译和前端开发服务器。
前端断点调试
Rust 端的断点在 VS Code 里搞定了,前端 JS/TS 的断点怎么设?
最简单的方式:应用运行时打开 DevTools(上一章讲过,右键检查或 Ctrl+Shift+I),在 Sources 面板里找到对应文件设断点。
如果你想直接在 VS Code 里调试前端代码,可以再加一个 chrome 或 msedge 类型的调试配置,附加到 WebView 的调试端口。不过这需要额外配置,对于大多数场景,直接用 DevTools 调前端就够用了。
RustRover / IntelliJ 配置
JetBrains 系列的 IDE(RustRover、IntelliJ、CLion)也能调试 Tauri 的 Rust 端。
关联 Cargo 项目
Tauri 项目的 Cargo.toml 在 src-tauri/ 子目录下,不是项目根目录。打开 IDE 后可能没有自动识别。手动关联:打开 Cargo 工具窗口(菜单 View → Tool Windows → Cargo),点 + 号,选 src-tauri/Cargo.toml。
或者你在项目根目录加一个 workspace 文件:
[workspace]
members = ["src-tauri"]
配置 Run/Debug
需要建两个配置:
Tauri App(Cargo 配置):
- 菜单 Run → Edit Configurations
- 点
+选 Cargo - 在 Additional cargo args 里加
--no-default-features - 命名为「Run Tauri App」
前端开发服务器(npm 配置):
- 再点
+选 npm - Command 填
run,Scripts 填dev - 命名为「Dev Server」
调试流程
先跑「Dev Server」配置启动前端,再点「Run Tauri App」旁边的 Debug 按钮(虫子图标)启动 Rust 调试。RustRover 会自动识别 Rust 文件里的断点并在命中时暂停。
Tip如果你的前端不是 npm/pnpm/yarn 而是纯 Rust 的 WebAssembly(比如用 trunk),Dev Server 配置改成 Shell Script 类型,命令填
trunk serve即可。
小结
VS Code 配合 vscode-lldb 扩展是调试 Tauri Rust 端的推荐方案:launch.json 配置 cargo 编译参数,tasks.json 负责启动前端开发服务器,按 F5 一键开始断点调试。Windows 用户可换用 cppvsdbg 获得更好性能。关键细节是加 --no-default-features 让 Tauri 走开发服务器。JetBrains 系列用户可在 RustRover 里配两个 Run Configuration(一个 Cargo 跑 Rust,一个 npm 跑前端),效果类似。前端 JS 的调试直接用 WebView DevTools 即可。