如何调试每次请求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
相关产品推荐
相关产品推荐

