【发布时间】:2021-10-25 19:43:17
【问题描述】:
我在 Google Cloud Shell 中运行一个 nodejs 应用程序。现在我想通过node --inspect flag 使用 google devtools 调试这个应用程序。
我知道如何将此功能用于在本地运行的应用,但我想将此功能用于在 gcloud shell 中运行的应用,就像它在本地运行一样。
【问题讨论】:
我在 Google Cloud Shell 中运行一个 nodejs 应用程序。现在我想通过node --inspect flag 使用 google devtools 调试这个应用程序。
我知道如何将此功能用于在本地运行的应用,但我想将此功能用于在 gcloud shell 中运行的应用,就像它在本地运行一样。
【问题讨论】:
这个我没试过!
这种方法有效;我不熟悉node --inspect,但我能够使用它远程调试运行 gRPC 服务器的 Cloud Shell VM(感谢介绍!)
注意您无需确定 Cloud Shell 虚拟机的 IP
当您使用 gcloud cloud-shell ssh 启动 Cloud Shell 时,您可以附加 --verbosity=debug 以确定实例的 IP。
当您运行 Cloud Shell 时,端口转发到 8080(IIRC Cloud Shell 允许 8080 和其他端口上的流量。):
gcloud cloud-shell ssh \
--ssh-flag="-L 8080:localhost:8080"
注意我不确定如何使用浏览器客户端确定 Cloud Shell 实例的 IP。
那么你可能可以运行:
node \
--inspect=0.0.0.0:8080 \
--enable-source-maps \
your-javascript-file
从您的本地主机 (!) Chrome DevTools,您可以chrome://inspect 并为localhost:8080 添加一个连接(localhost,因为 Cloud Shell 端口正被转发到您的本地主机)。
这是本地 Chrome DevTools 控制台,显示来自 Cloud Shell 托管 gRPC 服务器的日志:
【讨论】:
请查看 Google 官方文档
【讨论】: