VS Code中CMakeTools扩展未使用自定义launch.json配置的问题
解决CMakeTools调试按钮不读取launch.json的问题
问题确认
是的,CMakeTools扩展底部的调试按钮默认不会直接读取launch.json。它的调试逻辑基于自身的CMake构建配置生成调试会话,和VS Code原生F5依赖launch.json的启动逻辑是两条独立路径,所以会出现配置不匹配的情况。
解决方案
方案1:直接配置CMakeTools的调试参数
通过VS Code设置让CMakeTools复用你需要的调试配置:
- 打开VS Code设置(快捷键
Ctrl+,),搜索cmake.debugConfig - 在设置中添加对应参数,和你
launch.json里的配置对齐:
保存设置后,点击CMakeTools的调试按钮就会使用这些参数启动调试。"cmake.debugConfig": { "miDebuggerPath": "你的调试器完整可执行文件路径", "program": "${command:cmake.launchTargetPath}.axf", // 可添加其他调试配置项,比如target remote、setupCommands等 }
方案2:绑定launch.json到CMakeTools调试流程
让CMakeTools调用你已配置好的launch.json会话:
- 在
launch.json中确保配置正确,同时将program设置为CMake生成的目标路径,并指定前置构建任务:{ "version": "0.2.0", "configurations": [ { "name": "Tiva C Debug", "type": "cppdbg", "request": "launch", "program": "${command:cmake.launchTargetPath}.axf", "miDebuggerPath": "你的调试器路径", "preLaunchTask": "CMake: Build", // 补充你的其他调试配置,比如硬件连接参数 } ] } - 打开VS Code设置,搜索
cmake.debugLaunchTarget,设置值为你launch.json中定义的配置名称(比如上面的"Tiva C Debug")。 - 此时点击CMakeTools底部的调试按钮,就会直接调用你配置好的
launch.json会话。
方案3:在CMakeLists中统一输出文件后缀
避免手动补.axf后缀的问题,在CMakeLists.txt中给目标设置固定后缀:
set_target_properties(你的项目目标名 PROPERTIES SUFFIX ".axf")
这样CMake构建完成后,生成的程序文件会自动带上.axf后缀,无需额外配置路径。
内容的提问来源于stack exchange,提问作者Lucas Yotsui
相关产品推荐
相关产品推荐

