Rust 的交互式调试器

Nilesh Katuwal 2022年5月18日
Rust 的交互式调试器

本文将向你展示如何为 Rust 制作交互式调试器。首先,让我们看看我们如何一步一步地做到这一点。

在 Rust 中使用 VS CodeCodeLLDB 扩展执行程序

VS CodeCodeLLDB 扩展执行用 Rust 编写的程序。为 Rust 使用交互式调试器要遵循的步骤如下。

  • 安装 VS 代码。
  • 在 VS Code 中搜索 Rust 扩展或新的 Rust 分析器。
  • 在 VS Code 中安装可用的扩展。

    扩展文件取决于你所使用的操作系统。

    1. C/C++ (Windows)
    2. CodeLLDB (OS X / Linux)
  • 检查先决条件并为平台设置 CodeLLDBv1.6 可能不需要进一步设置)。
  • VS Code 中搜索扩展 CodeLLDB 并安装它。
  • 主菜单项 runLLDB Debugger 添加,我们可以从这里开始调试。我们需要选择环境(调试器):如果调试器是第一次启动,请选择 LLDB
  • 选择 LLDB 时将打开 launch.json 文件。如果该文件没有打开,它应该在你 PC 的 .vscode 文件夹下。

launch.json 应该如下所示。

"version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug",
            "program": "${workspaceRoot}/target/debug/hello_there",
            "args": [],
            "cwd": "${workspaceRoot}/target/debug/",
            "sourceLanguages": ["rust"]
        }
    ]
}

但是假设我们想要通用的东西并且只编译一个与货物文件夹名称匹配的二进制文件。在这种情况下,我们可以使用 ${workspaceRootFolderName} 变量替换 program 键,如下所示。

{
 "version": "0.2.0",
 "configurations": [
	 {
		 "type": "lldb",
		 "request": "launch",
		 "name": "Debug",
		 "program": "${workspaceRoot}/target/debug/${workspaceRootFolderName}",
		 "args": [],
		 "cwd": "${workspaceRoot}/target/debug/",
		 "sourceLanguages": ["rust"]
	 }
 ]
}

基本 Rust 程序

现在我们的交互式调试器已经准备就绪,我们可以在其中运行程序了。

// This is the main function
fn main() {
    // when the compiled binary is called statements are executed

    // Print text to the console
    println!("Hello, I'm using Rust.");
}

输出:

Hello, I'm using Rust.

正确执行所有这些步骤,我们可以在 VS Code 中运行和调试 Rust 程序。应优先安装扩展及其配置,以确保你可以运行 Rust 程序。