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

如何调试每次请求PID不同的Remix Grunge Stack应用?

调试Remix Grunge Stack(Arc框架模拟Lambda)的解决方案

针对Arc框架每次请求生成新进程导致VS Code调试失效的问题,可通过以下几种方式解决:

方案1:启用VS Code自动附加子进程(推荐)

修改launch.json配置,让调试器自动追踪Arc动态生成的子进程:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Remix Dev",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "autoAttachChildProcesses": true,
      "skipFiles": [
        "<node_internals>/**",
        "${workspaceFolder}/node_modules/**"
      ],
      "console": "integratedTerminal"
    }
  ]
}

启动调试后,点击VS Code调试工具栏的自动附加按钮,选择「仅本地」模式,调试器会自动附加到每个新启动的Lambda模拟进程。

方案2:配置Arc Sandbox复用进程

修改Arc的沙箱配置,让它保持单个进程运行,避免频繁重启:
在项目根目录的app.arc或arc.config文件中添加:

@sandbox
persist true

重启npm run dev后,Sandbox会复用进程,普通Node调试配置即可正常断点。

方案3:直接调试Lambda Handler文件

指定调试入口为Lambda处理文件,手动触发请求调试:
在launch.json中新增配置:

{
  "type": "node",
  "request": "launch",
  "name": "Debug Lambda Handler",
  "program": "${workspaceFolder}/app/server/index.js", // 替换为你的实际handler路径
  "env": {
    "NODE_ENV": "development",
    "ARC_SANDBOX": "true"
  }
}

启动该配置后,触发请求即可命中你设置的断点。

注意事项

  • 断点要设置在实际处理请求的代码中(比如Remix的loader/action函数),不要放在启动文件里;
  • 确保Node.js版本与项目依赖兼容,建议使用LTS版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:21:38