1

正如今天在使用 Cloud Debugger 进行生产故障排除中宣布的那样,现在可以使用 Python 了,据说我现在可以使用 Python Debugger。

我在 GCE 映像上运行 AppEngine Managed VMs,所以我按照在 Compute Engine 上设置 Python的指南进行操作。我已经修改了要添加的 Dockerfile pip install google-python-cloud-debugger(我还尝试将库直接安装到我的 app/lib 中,它包含在我的 sys.path 中):

FROM gcr.io/google_appengine/python-compat
RUN pip install google-python-cloud-debugger
ADD . /app

然后我修改了我的 main.py 以启用调试器:

try:
  import googleclouddebugger
  googleclouddebugger.AttachDebugger()
except ImportError:
  pass

不幸的是,当我提交代码、运行gcloud preview app gen-repo-info-file并推送它时,我无法使用调试器。当我转到https://console.developers.google.com/debug时,它会在右侧加载我的 github 存储库,但我在左侧导航区域看到一条错误消息:

调试不可用。您可以调试在 App Engine 或 Compute Engine 上运行的 Java 应用程序

有什么想法可能会出错,或者如何调试调试器?

4

3 回答 3

1

尽管另一个线程确实提供了很多机会来遵循常见的最佳调试实践,但解决方案比我们任何一个人想象的要简单得多。根据文档,您看到的错误很可能是由于使用 python 的托管 VM 还不是 Cloud Debugger 支持的平台。

但是,随着 Cloud Debugger 服务的发展,以及 Cloud Debugger with python刚刚在 7日发布的事实,这种情况肯定会发生变化。

如果您发现缺少某些内容并想让我们知道您和其他可能对该问题加注星标的人感兴趣,请随时在Cloud Platform Public Issue Tracker中提交功能请求。

于 2015-12-10T18:51:11.337 回答
0

编辑:虽然这个答案的线程包含有用的调试步骤,但问题的根本原因在我发布的其他答案中进行了解释。

这里可能发生了两件事:

第一个是您的 pip 命令以普通用户身份运行,想要访问系统安装位置并且在没有 root 权限的情况下失败。尝试sudo pip install...pip install -t lib/ google-python-cloud-debugger

发生的第二件事是您的代码正在捕获 ImportError 并且只是passing。我以前在我的生活中作为一个说蟒蛇的人见过这种结构,老实说,如果我见过的话,它就是一把霰弹枪。可以达到什么目的pass?如果您采取这种预防措施,错误日志会迅速显示问题。

于 2015-12-08T21:41:24.780 回答
0

检查 Python Cloud Debugger 是否正确安装的最简单方法是尝试在 Python 交互式控制台中导入它:

docker run -i -t cdbgtest bin/bash
python
import googleclouddebugger
print googleclouddebugger.__version__

我的猜测是,在你的情况下pip install google-python-cloud-debugger失败了。如果是这种情况,可能是由于过时的pip. 安装pip可以sudo easy_install pip解决它。

于 2016-01-04T22:25:44.000 回答