我是节点应用程序,我使用以下指南对其进行调试,效果很好 https://codeburst.io/an-easy-way-to-debug-node-js-apps-in-cloud-foundry-22f559d44516
现在我有一个更复杂的场景,一个应用程序产生其他节点应用程序我要调试(生成的应用程序),在cf top
我看到这个应用程序PID
(生成的应用程序),但我的问题是否有办法调试它?这两个app都在同一个容器中运行。
我能够调试主应用程序而不是生成的应用程序...,任何想法如何?
我能够ssh主应用程序,我们正在使用cf 2.98版本
答案 0 :(得分:2)
我不认为有任何特定于CloudFoundry的东西需要做才能使这项工作成功。您提供的链接中描述的过程显示了如何使用node --inspect
标志启动应用程序,创建到node
正在侦听的端口的SSH隧道,然后通过SSH隧道远程连接到该端口
如果您正在生成子进程,我建议您确保这些子进程(假设它们还运行Node)将--inspect=<port>
标记传递给它们。在这种情况下,您需要设置端口,因为--inspect
使用的默认端口9229已被主进程占用。
我不知道您的子流程是短期还是长期存在,但您可能需要在某处记录分配给它们的检查端口,以便您知道要连接到哪个端口,以便检查特定的子流程。
希望有所帮助!