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

如何在VS Code C++调试器中启用justMyCode仅调试自有代码功能?

VS Code C++调试实现仅调试自有代码配置方法

VS Code C/C++扩展没有提供和Visual Studio一致的可视化JustMyCode开关,你使用gdb作为调试后端时,直接配置gdb的跳过规则即可实现单步不进入依赖库、标准库构造函数的效果,修改现有launch.json即可完成配置。

配置修改

直接在现有配置的setupCommands数组中追加gdb跳过规则,修改后的完整配置如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
              {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
              },
              // 以下为新增的JustMyCode规则
              {
                "description": "跳过所有std命名空间下的函数",
                "text": "-interpreter-exec console \"skip -rfu ^std::.*\"",
                "ignoreFailures": true
              },
              {
                "description": "跳过MinGW标准库源码",
                "text": "-interpreter-exec console \"skip -gfi C:/msys64/mingw64/**/*\"",
                "ignoreFailures": true
              },
              // 如有第三方库,仿照下面格式追加即可,替换为实际第三方库路径
              // {
              //   "description": "跳过第三方依赖库",
              //   "text": "-interpreter-exec console \"skip -gfi D:/your_lib_path/**/*\"",
              //   "ignoreFailures": true
              // }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
          }
    ]
}

配置说明

  • -interpreter-exec console是让gdb执行控制台命令的固定前缀
  • skip -rfu ^std::.*通过正则匹配所有std命名空间下的函数,STL容器、字符串的构造、成员函数都会被自动跳过,不需要额外配置路径
  • skip -gfi C:/msys64/mingw64/**/*跳过当前使用的msys2 MinGW目录下的所有源码文件,避免进入系统库内部
  • 自行引入的第三方库可以仿照注释中的格式追加对应规则,**/*是通配符,匹配目录下所有层级的文件

调试临时操作

配置生效后如果遇到特殊情况需要进入库代码调试,不需要修改配置,直接在VS Code调试控制台输入对应gdb命令即可:

  • info skip:查看当前所有生效的跳过规则及对应编号
  • skip disable [规则编号]:临时关闭指定规则,不填编号则关闭所有规则
  • skip enable [规则编号]:重新启用指定规则,不填编号则启用所有规则
  • skip delete [规则编号]:删除指定规则

注意事项

  • 配置中的所有文件路径必须使用正斜杠/,Windows默认的反斜杠\是转义字符,会导致gdb路径匹配失效
  • 不要将自有项目的代码路径加入跳过规则,否则会导致自有代码无法命中断点、单步不进入
  • 如果更换了MinGW安装位置,将配置中对应的C:/msys64/mingw64/替换为新的安装路径即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:25:05