如何在Visual Studio CMake项目中添加调试源文件?
在CMake项目中配置调试源文件(VS环境)
在VS的CMake项目里,确实是通过launch.vs.json来配置调试源文件路径映射,核心是用sourceFileMap关键字,具体操作如下:
步骤1:打开或生成launch.vs.json
- 在VS中,点击顶部菜单的「调试」→「打开调试启动设置」,或者右键CMake项目→「添加调试配置」,自动生成/打开
launch.vs.json文件(通常在项目根目录的.vscode文件夹下)。
步骤2:配置sourceFileMap字段
在配置项中添加sourceFileMap,用来映射编译时的源文件路径到本地实际路径,示例配置如下:
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "cppvsdbg", "name": "CMake Debug", "project": "CMakeLists.txt", "projectTarget": "你的目标名称", // 替换成CMake里add_executable定义的目标名 "sourceFileMap": { "/编译时的源文件前缀路径/": "${workspaceFolder}/本地对应的路径/" } } ] }
关键参数说明:
cppvsdbg: VS自带的C++调试器类型,固定值projectTarget: 必须指定你要调试的CMake目标(比如可执行文件或库的名称)sourceFileMap: 键是编译环境中源文件的绝对路径前缀,值是本地磁盘上对应的路径;${workspaceFolder}是VS内置变量,代表当前工作区的根目录
如果有多个路径需要映射,直接添加多组键值对即可:
"sourceFileMap": { "/build/src/": "${workspaceFolder}/src/", "/third_party/libs/": "${workspaceFolder}/external/libs/" }
小技巧
如果不知道编译时的具体路径,可以先启动调试,当VS提示找不到源文件时,查看调试器面板里显示的「编译时路径」,再把这个路径前缀填入sourceFileMap的键中即可。
内容的提问来源于stack exchange,提问作者jylihh
相关产品推荐
相关产品推荐

