- 找到 windows 上类 gdb 的命令行调试工具(或能达到相同效果的工具也行) ➕ 2025-07-05
各工具链对应的调试器
根据使用的工具链和操作系统,Visual Studio Code 支持以下 C/C++ 调试器 1:
| 编译器工具链 | 平台/系统 | VSCode 调试器 | 调试符号格式 | 所需插件 / 扩展 | 说明 |
|---|---|---|---|---|---|
| MSVC | Windows | cppvsdbg | PDB | ✅ C/C++ (ms-vscode.cpptools) | 微软官方调试器,支持 .pdb,性能佳,推荐使用 MSVC 构建生成 .exe 调试。 |
| MinGW (GNU) | Windows | cppdbg (GDB) | DWARF | ✅ C/C++ 插件 + 手动安装 MinGW + 配置 GDB 路径 | 需在 launch.json 中配置 "miDebuggerPath": "gdb.exe"。 |
| MSYS2 (GNU) | Windows | cppdbg (GDB) | DWARF | ✅ C/C++ 插件 + 安装 mingw-w64-gdb | 推荐使用 MSYS2 的 MinGW-w64 工具链而非 MSYS 工具链。 |
| Cygwin (GNU) | Windows | cppdbg (GDB) | DWARF | ✅ C/C++ 插件 + Cygwin 安装包 | 构建产物依赖 cygwin1.dll,调试器为 Cygwin 内的 GDB。 |
| LLVM/Clang (w/ GDB) | Windows | cppdbg (GDB) | DWARF | ✅ C/C++ 插件 | Clang 搭配 MinGW 工具链使用可调试 DWARF,推荐 GDB。 |
| LLVM/Clang (w/ LLDB) | macOS / Linux | lldb | DWARF | ✅ CodeLLDB | LLDB 提供更现代的调试体验;可调试 Clang 编译生成的程序。 |
| GCC (GNU) | Linux | cppdbg (GDB) | DWARF | ✅ C/C++ 插件 | 默认使用系统的 gdb 进行调试。 |
| Clang (LLVM) | macOS / Linux | lldb / cppdbg | DWARF | ✅ CodeLLDB 或 C/C++ 插件 | macOS 推荐使用 CodeLLDB 插件绑定系统 lldb。 |
| WSL (GNU) | Windows (WSL) | cppdbg (GDB over WSL) | DWARF | ✅ C/C++ 插件 + WSL 支持 | 通过 "pipeTransport" 配置远程调试器(如 /usr/bin/gdb),调试 Linux 程序。 |
| 远程开发主机 | 任意(SSH) | cppdbg / lldb | DWARF / PDB | ✅ C/C++ 插件 + Remote SSH 插件 | 需远端安装调试器 + 配置调试路径;推荐使用 GDB/LLDB 远程调试。 |
关于 MSVC 的独立调试器
https://stackoverflow.com/a/76431704/14504212
实际上,MSVC 工具集并没有附带独立的调试器(我不是在谈论 Visual Studio,请参阅 此)。
在 VSCode 中,c/c++ 扩展 带有一个名为 vsdbg.exe 的独立调试器,用于调试使用 MSVC 工具集编译的应用程序。
因此,要使用 MSVC 工具集通过命令行进行调试,可以直接在终端中调用 vsdbg.exe 并传递所需的参数。
评论中提到的 WinDBG 是一个比较通用、比较先进的软件调试工具,可以调试任何语言编写的代码。