使用 pm2 调试 运行 的应用程序
Debug application which is run using pm2
申请是 运行
pm2 start app.js
或
pm2 start config.json
我想使用 node_inspector 在本地调试我的应用程序。我添加了 debug
参数
pm2 start --node-args="--debug=7000" app.js
它工作正常但如果我提供 config.json
而不是脚本 app.js
我不知道如何传递有关调试的参数。下一段配置不起作用
{
"apps": [
{
"name": "myName",
"script": "app.js",
"args": "['--debug=7000']"
............
}
]
}
那么如何通过 pm2 和使用配置来调试 运行 的应用程序?
你快到了,使用 node_args
而不是 args
:
args
是您的脚本参数
node_args
是传递给节点可执行文件的参数
{
"name": "myName",
"script": "app.js",
"node_args": ["--debug=7000"]
}
如果在此之后有人仍然对调试设置有问题,在某些情况下,您必须禁用集群模式才能使调试设置生效。
另请注意,如果将所有参数作为单个字符串传递,则 node_args 值中不需要括号。
[pm2 版本 3.2.2]
如果您想将 Vscode 与 PM2.
在 ecosystem.config.js 的生态系统文件中,在 apps.
下添加以下行
node_args : ["--inspect"]
添加它会在调用脚本时自动设置两个节点参数。他们是--inspect
,--inspect-port=9232
.
他们可以用console.log(process.process.execArgv)
看到
此外,如果实例数 > 1,则上述参数将继续为该 pm2 下的每个其他节点实例递增此端口号。
例如,对于第二个节点实例,pm2 将通过 --inspect
、--inspect-port=9233
。
如果您明确将检查端口设置为一个值,我会看到以下内容作为参数
--inspect
,--inspect-port=9200
,--inspect-port=9230
而且它似乎没有使用您想要的端口。但我认为鉴于 pm2 的性质,不使用特定端口可能更好。
希望这对您有所帮助。
另一种方法是
env: {
NODE_OPTIONS: '--inspect'
}
在您的 ecosystem.config.js 文件中。
或在您的 pm2.yml
apps:
- script: ./server.js
env:
DEBUG: express:*
node_args: "--inspect=3500"
申请是 运行
pm2 start app.js
或
pm2 start config.json
我想使用 node_inspector 在本地调试我的应用程序。我添加了 debug
参数
pm2 start --node-args="--debug=7000" app.js
它工作正常但如果我提供 config.json
而不是脚本 app.js
我不知道如何传递有关调试的参数。下一段配置不起作用
{
"apps": [
{
"name": "myName",
"script": "app.js",
"args": "['--debug=7000']"
............
}
]
}
那么如何通过 pm2 和使用配置来调试 运行 的应用程序?
你快到了,使用 node_args
而不是 args
:
args
是您的脚本参数node_args
是传递给节点可执行文件的参数{ "name": "myName", "script": "app.js", "node_args": ["--debug=7000"] }
如果在此之后有人仍然对调试设置有问题,在某些情况下,您必须禁用集群模式才能使调试设置生效。
另请注意,如果将所有参数作为单个字符串传递,则 node_args 值中不需要括号。
[pm2 版本 3.2.2]
如果您想将 Vscode 与 PM2.
在 ecosystem.config.js 的生态系统文件中,在 apps.
下添加以下行node_args : ["--inspect"]
添加它会在调用脚本时自动设置两个节点参数。他们是--inspect
,--inspect-port=9232
.
他们可以用console.log(process.process.execArgv)
此外,如果实例数 > 1,则上述参数将继续为该 pm2 下的每个其他节点实例递增此端口号。
例如,对于第二个节点实例,pm2 将通过 --inspect
、--inspect-port=9233
。
如果您明确将检查端口设置为一个值,我会看到以下内容作为参数
--inspect
,--inspect-port=9200
,--inspect-port=9230
而且它似乎没有使用您想要的端口。但我认为鉴于 pm2 的性质,不使用特定端口可能更好。
希望这对您有所帮助。
另一种方法是
env: {
NODE_OPTIONS: '--inspect'
}
在您的 ecosystem.config.js 文件中。
或在您的 pm2.yml
apps:
- script: ./server.js
env:
DEBUG: express:*
node_args: "--inspect=3500"