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

VS Code Remote Bash Debug如何从主脚本切换到被调用脚本调试?

解决VS Code Remote Bash Debug跨脚本断点不生效问题

针对主脚本调用外部脚本函数时断点无法触发的问题,按以下步骤排查修复:

  • 确保调试配置开启跟踪
    修改你的launch.json配置,添加follow: true参数(允许调试器跟踪source加载的脚本或子进程),同时指定远程环境中bashdb的实际路径(避免路径找不到的问题)。修正后的配置示例:

    {
      "type": "bashdb",
      "request": "launch",
      "name": "Bash-Debug (select script from list of sh files)",
      "cwd": "${workspaceFolder}",
      "program": "${command:SelectScriptName}",
      "args": [],
      "showDebugOutput": true,
      "follow": true,
      "bashdbPath": "/usr/bin/bashdb"
    }
    

    注:bashdbPath的值可以通过远程终端执行which bashdb获取。

  • 确认脚本加载方式与断点时机
    如果主脚本通过source fonctions_commun.sh加载函数,调试器默认会跟踪该脚本,但如果source语句在条件分支中(比如if判断后),需先在source语句前设置断点,执行到该步骤后,再去fonctions_commun.sh中设置断点——此时调试器已识别该文件,断点会正常生效。

  • 检查远程环境的bashdb安装
    远程机器必须安装bashdb才能支持跨脚本调试,执行以下命令确认:

    bashdb --version
    

    若未安装,用对应包管理器安装:

    • Debian/Ubuntu:sudo apt install bashdb
    • CentOS/RHEL:sudo yum install bashdb
  • 断点设置的细节

    • 不要在空行、注释行或函数定义的function关键字行设置断点,要选函数内的有效代码行。
    • 如果fonctions_commun.sh是符号链接,直接打开实际文件路径设置断点,避免调试器路径识别错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:00:48