温馨提示×

centos怎样调试rust程序

小樊
50
2026-09-21 02:27:34
栏目: 编程语言

在 CentOS 上调试 Rust 程序,常用方法和步骤如下:


一、准备工作

1. 安装编译和调试工具

sudo yum install -y gcc gdb

如果是 CentOS 8 / Stream:

sudo dnf install -y gcc gdb

2. 安装 Rust(如果还没装)

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

二、编译可调试的程序

1. 使用 Debug 模式(默认)

cargo build

生成的可执行文件在:

target/debug/<程序名>

✅ 不要使用 cargo build --release 调试,优化会打乱变量和行号。


三、使用 GDB 调试 Rust 程序

1. 启动 GDB

gdb target/debug/<程序名>

2. 常用 GDB 命令

run                 # 运行程序
break main          # 在 main 函数打断点
break 文件名:行号    # 如 break main.rs:10
next                # 单步(不进入函数)
step                # 单步(进入函数)
print 变量名         # 打印变量
backtrace           # 查看调用栈
continue            # 继续执行
quit                # 退出

四、在 VSCode 中调试(推荐)

1. 安装插件

  • Rust Analyzer
  • CodeLLDB

2. 配置 launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "lldb",
      "request": "launch",
      "name": "Debug Rust",
      "program": "${workspaceFolder}/target/debug/<程序名>",
      "args": [],
      "cwd": "${workspaceFolder}"
    }
  ]
}

然后按 F5 即可调试。


五、日志调试(轻量级)

使用 println!

println!("x = {}", x);

使用日志库(推荐)

cargo add log env_logger
fn main() {
    env_logger::init();
    log::info!("启动程序");
}

运行:

RUST_LOG=info cargo run

六、常见调试技巧

1. 查看 panic 位置

RUST_BACKTRACE=1 cargo run

2. 未初始化变量检查

cargo build --features debug

3. 使用 dbg! 宏

let x = dbg!(some_function());

七、CentOS 常见问题

GDB 看不到 Rust 变量?

  • 确保是 Debug 模式
  • 使用较新 GDB(≥ 8.0)
  • 使用 CodeLLDB 替代 GDB

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否使用 VSCode / 远程服务器
  • 是命令行程序还是 Web / 多线程程序

我可以给你更具体的调试方案。

0 踩