How to debug a rust program in VScode

1. Install rust-analyzer and CodeLLDB extensions 

2. Create .vscode/launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Cargo launch",
            "cargo": {
                "args": [
                    "build",
                    "--bin=server",
                ]
            },
            "args": []
        }

    ]
}

3. Double check the Cargo.toml file

[package]
name = "rust_service"
version = "0.1.0"
edition = "2021"
author = "yingshaoxo"

[[bin]] # Bin to run the HelloWorld gRPC server
name = "server"
path = "src/server.rs"

[dependencies]
tonic = "0.6.2"
prost = "0.9"
tokio = { version = "1.16", features = ["full"] }
tokio-stream = { version = "0.1", features = ["sync"] }
futures = "0.3"
async-stream = { version = "0.3.2" }
futures-util = { version = "0.3.21" }
futures-core = { version = "0.3.21" }
rawsample = { version = "0.2.0" }
reqwest = { version = "0.11", features = ["json"] }
tokio-test = "0.2.1"
serde_json = "1.0"
tokio-postgres = "0.7.7"

[build-dependencies]
tonic-build = "0.6.2"

4. Launch the debugger with F5