[英]Remote Debugging a node.js application on SAP Cloud Foundry
我們已經在SAP Cloud Foundry上托管了多個node.js Express服務。 由於我們無法進一步解決此問題,也許其他人也面臨此問題,因此以下是關於此的明確問題:
您如何遠程調試SAP Cloud Foundry上托管的node.js應用程序(我們自己的)?
在我們的案例中,我們有一個快遞服務,該服務使用SAP Cloud SDK(v1.6.1)從SAP Cloud和OnPremise提供各種數據。
我不確定這是否是最好的方法,但是它對我有用,所以去了:
首先,您需要在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
開始(默認情況下,您可能不想這樣做)生產性應用)。 我還沒有找到解決方案。 因此,如果您已經在高效運行,則可能需要單獨部署。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.