修改.vscode/launch.json,指定可执行文件为 tikv-server,选用 lldb 调试、配置正确工作目录与启动参数,再按 F5 调试。
VS Code 默认自动匹配到了fuzz二进制,没有指向tikv-server可执行文件,调试程序跑错包直接退出。
在vscode里装好rust-analyzer插件,配置launch.json把program指向target/debug/tikv-server,按F5就能直接打断点调试了。
1 个赞
博客 - 启航TiDB:调试环境搭建(vscode+wsl+pd) | TiDB 社区 这有个博客可以参考一下
安装 VS Code 的 Rust 与 C/C++ 调试插件,配置.vscode/launch.json指向target/debug/tikv-server二进制,配置启动参数后即可断点调试 TiKV 源码。
- 编译环境:已安装
rust-analyzer、lldb(macOS)/gdb(Linux,生产服务器 Linux 必用 gdb) - 已编译出可调试程序:
target/debug/tikv-server(debug 编译自带调试符号,无需额外配置) - VSCode 插件安装
- Rust:rust-analyzer(官方语言服务)
- CodeLLDB:跨平台调试器(Linux/macOS 首选,替代系统原生 gdb,体验更好)
Linux 环境推荐组合:
rust-analyzer + CodeLLDB
核心在于为 fuzz 程序提供正确的启动参数,并确保调试器环境的稳定性
在vscode中安装rust语言扩展,配置launch.json即可启动调试。
命令行能跑 target/debug/tikv-server 说明二进制没问题,VSCode 失败多半是 launch 配置不对。应用 CodeLLDB/cppdbg 直接调试已编译二进制,program 指到 target/debug/tikv-server,cwd 设仓库根目录,并带上你命令行那套参数(config、data-dir 等);不要只对 tikv-server.rs 做无参数 F5。确认 rust-analyzer/lldb 扩展正常,且调试环境变量与手动启动一致。

