调试之前首先需要确认C++调试工具:例如linux下gdb或者windows下的vs。下面以windows为例
选中rs
文件,这就F5,此时会弹出调试器,选择调试器。选择之后会默认在.vscode
目录下创建launch.json
,打开编辑
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "cl.exe - 生成和调试活动文件",
"type": "cppvsdbg",//这里选择vsdebug
"request": "launch",
"args": [],
"program": "${workspaceFolder}/greeting/target/debug/greeting", //改成可执行文件实际名称!
"cwd": "${workspaceFolder}/greeting/target/debug/",
"preLaunchTask": "rust: cargo build"//这里需要配置前置任务,因为program需要由前置任务生成
}
]
}
launch.json
只能调试生成的执行文件,所以需要配置前置任务preLaunchTask
,生成执行文件。在.vscode
目录下新建tasks.json
添加任务,生成执行文件cargo build
。
Note:"preLaunchTask"对应task中的label属性
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"command": "cargo",
"options": {
"cwd": "${workspaceFolder}/greeting/"
},
"args":[
"build"
],
"problemMatcher": [
"$rustc"
],
"group": "build",
"label": "rust: cargo build"
}
]
}
此时配置完成。在rs直接F5即可调试。
以上json文件也可以直接在.vscode目录下直接手动创建
cargo 命令
cargo check
:对代码进行检查,但是不生成可执行文件。速度比build快很多。
cargo build
:对代码进行编译并生成Debug版本的可执行文件。
cargo build --release
:对代码进行优化,生成Release版本的可执行文件。