【问题标题】:how to debug app that runs in gcloud shell如何调试在云外壳中运行的应用程序
【发布时间】:2021-10-25 19:43:17
【问题描述】:

我在 Google Cloud Shell 中运行一个 nodejs 应用程序。现在我想通过node --inspect flag 使用 google devtools 调试这个应用程序。

我知道如何将此功能用于在本地运行的应用,但我想将此功能用于在 gcloud shell 中运行的应用,就像它在本地运行一样。

【问题讨论】:

    标签: node.js gcloud


    【解决方案1】:

    这个我没试过!

    这种方法有效;我不熟悉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 服务器的日志:

    【讨论】:

      【解决方案2】:

      请查看 Google 官方文档

      Cloud Debugger

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-28
        • 2012-05-15
        • 2015-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-21
        相关资源
        最近更新 更多