Node.js “如何调试”;“建造”;生产节点
我正在使用VisualStudio代码调试生产环境中的节点应用程序 节点进程在docker内部运行 I端口转发并向USR1发送信号,以启用将调试器从VS代码附加到该节点进程 我的VS代码配置如下Node.js “如何调试”;“建造”;生产节点,node.js,debugging,visual-studio-code,remote-debugging,vscode-debugger,Node.js,Debugging,Visual Studio Code,Remote Debugging,Vscode Debugger,我正在使用VisualStudio代码调试生产环境中的节点应用程序 节点进程在docker内部运行 I端口转发并向USR1发送信号,以启用将调试器从VS代码附加到该节点进程 我的VS代码配置如下 { "version": "0.2.0", "configurations": [ { "type": "node", "request": &
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Debug: service",
"sourceMaps": true,
"smartStep": true,
"remoteRoot": "/src/",
"localRoot": "/home/my-username/work/orders/src/",
"protocol": "inspector",
"port": 9229,
"restart": true,
"address": "0.0.0.0",
"skipFiles": [
"<node_internals>/**",
"<node_modules>/**"
]
}
]
}
{
“版本”:“0.2.0”,
“配置”:[
{
“类型”:“节点”,
“请求”:“附上”,
“名称”:“调试:服务”,
“源地图”:正确,
“smartStep”:没错,
“remoteRoot”:“/src/”,
“localRoot”:“/home/my username/work/orders/src/”,
“协议”:“检查员”,
“港口”:9229,
“重启”:正确,
“地址”:“0.0.0.0”,
“滑雪板”:[
"/**",
"/**"
]
}
]
}
从VS代码中,我可以钩住应用程序,应用程序可以在异常时中断
但是,没有任何源映射会导致源代码中的所有断点都是“未绑定断点”
VS代码中加载的脚本列表显示
VS代码调试器能够在dist中查看节点_模块和构建的源代码版本。另一个值得注意的是,用于构建/dist的源代码也可以直接在生产服务器的上部文件夹中获得
在这种情况下,如何使用未构建的源代码调试构建的生产流程
我添加了Chrome行为作为单独的问题
我不知道这对你是否有帮助。但我认为你必须使用。它可以从支持WebSocket的任何浏览器中使用。真的很好 很酷的东西
- 节点检查器使用WebSocket,因此不会轮询中断
- 远程调试和调试远程机器
- 实时编辑正在运行的代码,可以选择将更改保留回文件系统
- 在尚未加载到V8的文件中设置断点-对于调试模块加载/初始化非常有用
- 可嵌入其他应用程序-有关更多详细信息,请参阅嵌入方式
$node debug test.js
< Debugger listening on port 5858
debug> . ok
break in test.js:1
> 1 var a= 5;
2 a = a*a
3 a += 2;
debug>
repl和watch命令允许您查看局部变量的值
debug> next
break in test.js:2
1 var a= 5;
> 2 a = a*a
3 a += 2;
4