在 cf 中使用 PID 调试应用程序

Debug application with PID in cf

我有节点应用程序,我使用以下指南对其进行调试,效果很好 https://codeburst.io/an-easy-way-to-debug-node-js-apps-in-cloud-foundry-22f559d44516

现在我有一个更复杂的场景,其中一个应用程序正在生成 我想调试的另一个节点应用程序(生成的应用程序),在 cf top我看到这个应用程序 PID(来自生成的应用程序)但我的问题是是否也有调试它的方法?两个应用 运行 在同一个容器中。

我能够调试主应用程序但不能调试生成的应用程序...,知道怎么做吗?

我可以通过 ssh 访问主应用程序,我们使用的是 cf 2.98 版本

我不认为需要做任何特定于 CloudFoundry 的事情才能完成这项工作。您提供的 link 中描述的过程展示了如何使用 node --inspect 标志启动应用程序,创建到 node 正在侦听的端口的 SSH 隧道,然后远程连接到它通过 SSH 隧道。

如果您正在生成子进程,我建议您确保这些子进程(假设它们也是 运行 节点)将 --inspect=<port> 标志传递给它们。在这种情况下,您将需要设置一个端口,因为 --inspect 使用的默认端口 9229 已被您的主进程占用。

我不知道您的子进程是短期的还是长期的,但您可能需要在某处记录分配给它们的检查端口,以便您知道要连接到哪个端口,以便检查特定的子进程。

希望对您有所帮助!