You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置GTest适配Visual Studio Code图形化调试器(非子模块方式)

在VS Code里调试GTest测试(不用子模块方案)

先确认基础条件

  • 本地已经装好GTest库:可以用系统包管理器安装,比如Linux下执行apt install libgtest-dev,macOS用brew install googletest,或者自行编译后放到系统路径中
  • 项目采用CMake构建(如果是Makefile或其他构建工具,思路类似,仅配置细节有差异)

1. 配置CMakeLists.txt

在项目的CMakeLists.txt中,将测试代码编译为可执行文件并链接GTest库:

# 替换为你的测试源码文件名,比如test_main.cpp
add_executable(my_test_suite test_main.cpp)
# 链接GTest库及自带的主函数入口
target_link_libraries(my_test_suite gtest gtest_main)
# 开启Debug模式,确保编译产物包含调试信息
set(CMAKE_BUILD_TYPE Debug)

2. 编译测试可执行文件

打开VS Code终端,执行以下命令完成编译:

mkdir -p build && cd build
cmake ..
make

编译完成后,build目录下会生成my_test_suite(Windows系统为.exe后缀)可执行文件。

3. 配置VS Code调试启动文件

  • 点击左侧调试虫子图标,选择「创建launch.json文件」,再选择"C++ (GDB/LLDB)"环境
  • 将自动生成的launch.json内容替换为以下配置,注意修改program路径为你的测试可执行文件绝对路径:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug GTest Cases",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/my_test_suite",
            "args": [], // 可添加GTest参数,比如--gtest_filter=MyTest.*仅调试特定测试用例
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "让GDB显示更友好的变量格式",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build Test Suite" // 可选配置,添加后调试前会自动编译
        }
    ]
}

4. (可选)配置自动编译任务

若不想每次调试前手动编译,可配置tasks.json:

  • 按Ctrl+Shift+B(Windows/Linux)或Cmd+Shift+B(macOS),选择「创建tasks.json文件」,再选「Others」
  • 替换为以下内容:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build Test Suite",
            "type": "shell",
            "command": "cd build && make",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": "$gcc"
        }
    ]
}

开始调试

  • 在测试代码的可疑位置,点击行号左侧添加断点
  • 点击调试面板的绿色播放按钮,启动调试
  • 使用VS Code自带的调试控件(继续、单步跳过、单步进入等)逐步排查测试失败原因

内容的提问来源于stack exchange,提问作者gkv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:11:20