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

在Visual Studio中无法使用Approuter(XSUAA)远程调试SAP CAP应用

SAP CAP + Approuter 远程调试断点无法触发排查方案
  • 确认CDS服务启动时开启调试模式
    直接执行cds run默认不会开启调试端口,需改为带调试参数启动:

    cds run --inspect
    

    或启动时暂停等待调试器附加:

    cds run --inspect-brk
    

    启动后查看控制台日志,确认出现类似Debugger listening on ws://localhost:9229/xxxx的输出,说明调试端口(默认9229)已正常监听。

  • 验证VS Code launch.json配置
    确保配置为attach模式,且端口与CDS调试端口一致,示例配置:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "type": "node",
                "request": "attach",
                "name": "Attach to CAP Service",
                "port": 9229,
                "restart": true,
                "skipFiles": ["<node_internals>/**"]
            }
        ]
    }
    

    注意不要使用launch模式,因为我们是先启动CDS服务再附加调试器。

  • 检查Approuter请求转发有效性

    1. 用Chrome开发者工具的Network标签,确认页面请求的目标端点已转发至localhost:4004的CAP服务;
    2. 查看CAP服务控制台,确认有对应请求日志输出,若没有则检查Approuter的default-env.json配置,确保destinations正确设置:
      {
          "destinations": [
              {
                  "name": "srv-api",
                  "url": "http://localhost:4004",
                  "forwardAuthToken": true
              }
          ],
          "VCAP_SERVICES": {
              "xsuaa": [
                  // 你的XSUAA实例配置
              ]
          }
      }
      
    3. 确认Approuter的启动命令正确,比如package.json中start字段为node node_modules/@sap/approuter/approuter.js。
  • 确认调试器附加时机与断点位置

    • 先启动带调试参数的CDS服务,再在VS Code中启动调试器(Attach to CAP Service),最后刷新页面或触发操作;
    • 断点需打在实际执行的代码行,比如CAP服务的自定义事件处理、实体钩子函数中,避免打在空行或不会执行的代码段。
  • 检查Node.js版本兼容性
    确保使用Node.js 14.x及以上版本,旧版本可能存在调试协议兼容性问题,执行node -v确认版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:25:44