簡體   English   中英

在SAP Cloud Foundry上遠程調試node.js應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM