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

Visual Studio 2019中使用CMake同时调试多个target的方法

VS2019 CMake项目同时调试两个Target的实现方法

前置确认

  • 使用VS2019 16.0及以上版本,低于该版本不支持原生复合调试配置
  • 两个可执行子工程已在CMakeLists.txt中通过add_executable(进程名 源文件列表)正确定义
  • VS已完成CMake缓存加载,切换到CMake目标视图后可看到两个可执行Target

方法一:直接使用VS打开CMake文件夹(无需生成sln)

这是VS2019原生支持的方式,适配直接打开CMake目录的常规工作流。

步骤1:打开launch.vs.json配置文件

  • 点击顶部调试栏启动按钮旁的下拉箭头,选择「添加调试配置」
  • VS会自动打开项目根目录下(或.vs隐藏目录下)的launch.vs.json文件

步骤2:添加两个Target的单独调试配置

  • 在配置文件的顶层数组中,通过右下角的「添加配置」下拉,依次选择你的主进程Target、Stub Target,VS会自动生成对应配置块,示例如下:
{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    // 主进程配置
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "主进程.exe (src\\主进程目录名)",
      "name": "主进程"
    },
    // Stub配置
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "stub.exe (tests\\stub目录名)",
      "name": "stub"
    }
  ]
}
  • *若有相对路径依赖(比如配置文件、测试数据),可在对应配置中添加currentDir字段指定工作目录,示例:
"currentDir": "${workspaceRoot}\\src\\主进程目录名"

步骤3:添加复合启动配置

  • 在configurations数组中新增一个compound类型的配置,按启动顺序填写两个单独配置的name(需先启动的进程放前面):
{
  "name": "同时调试主进程和Stub",
  "type": "compound",
  "targets": [
    "stub",
    "主进程"
  ]
}

步骤4:启用复合启动

  • 保存launch.vs.json,回到顶部启动项下拉列表,选中「同时调试主进程和Stub」
  • 按F5即可同时启动两个进程,且两个进程都会挂载调试器。

方法二:生成VS解决方案(sln)后配置

适合习惯使用传统sln工作流的用户。

步骤1:生成sln文件

  • 打开VS2019的「适用于VS的开发人员命令提示符」,进入项目根目录,执行CMake命令生成对应架构的sln:
cmake -B build -G "Visual Studio 16 2019" -A x64
  • 生成的sln文件位于build目录下。

步骤2:配置多启动项目

  • 打开生成的sln文件,右键顶部的解决方案节点,选择「属性」
  • 进入「通用属性 → 启动项目」页面,选择「多启动项目」
  • 将两个子工程的操作都设置为「调试」,调整启动顺序(将Stub排在主进程前)
  • 保存配置后按F5即可同时调试两个进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 03:36:10