我们已经在SAP Cloud Foundry上托管了几个node.js express服务。由于我们不能进一步解决这个问题,也许其他人也面临着this问题,下面是关于这个问题的明确问题:
如何远程调试托管在SAP Cloud Foundry上的node.js应用程序(我们自己的)?
在我们的案例中,我们有一个express服务,它使用SAP Cloud SDK (v1.6.1)来提供来自SAP Cloud和OnPremise的各种数据。
发布于 2019-07-24 21:03:11
我不确定这是否是最好的方法,但它对我来说是有效的,所以这里是:
首先,您需要在manifest.yml中调整应用程序的启动command,以便能够附加调试器。例如:
command: node --inspect --require ts-node/register src/index.ts在这个例子中,我使用的是TypeScript,如果你使用的是普通的JS,它可能看起来像这样:
command: node --inspect src/index.js接下来,为了能够将调试器附加到检查器,您需要打开一个到您的应用程序的ssh隧道,如下所示:
cf ssh <APP_NAME> -N -T -L 9229:127.0.0.1:9229这将把本地机器的端口9229隧道到运行应用程序的容器上的端口9229 (9229是运行检查器的默认端口)。
最后,(我假设您在这里使用VS代码),您需要启动调试器。下面是我使用的配置:
{
"type": "node",
"request": "attach",
"name": "Attach to Remote",
"address": "localhost",
"port": 9229,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/home/vcap/app"
}这种方法的缺点是(与调试Java应用程序相比)现在可以附加到正在运行的应用程序,因为您需要使用--inspect启动(对于一个高效的应用程序,您可能不希望默认这么做)。我还没有找到解决这个问题的办法。因此,您可能希望有一个单独的部署,以防您已经在高效运行。
https://stackoverflow.com/questions/57183017
复制相似问题