【问题标题】:Debugging web apps调试网络应用
【发布时间】:2010-10-08 03:50:36
【问题描述】:

多年来,我已经习惯了逐步调试器,无论是在构建器中,还是在 Eclipse 中使用 pydev 调试器。

目前,我正在用 Python 制作一些东西并在 Google App Engine 上运行它,我应该补充一点,我对开发任何真正的网络应用程序都很陌生;除了编辑 HTML 代码之外,我从来没有真正做过很多事情。

所以,我正在运行 Google 的 dev_appserver 并在 http://localhost 上查看我的工作,挖掘,而现在,我用来识别问题的唯一工具是 PMD(穷人的调试器)。 . .基本上写东西到html页面来查看局部变量的值。

有没有更好的技术来处理这个问题?

【问题讨论】:

    标签: python eclipse debugging google-app-engine


    【解决方案1】:

    dev_appserver 只是一个 python 脚本,据我所知,您可以简单地在该脚本上使用带有正确参数的 pydev 调试器。

    以下是有关如何执行此操作的非常详细的指南:

    http://www.ibm.com/developerworks/opensource/library/os-eclipse-mashup-google-pt1/index.html

    【讨论】:

    • 哦,很棒的链接。我什至没有想过将 dev_apperver 放在运行配置中。我刚刚在我的应用程序的目录上运行它,但这看起来应该可以工作。
    【解决方案2】:

    我建议使用日志语句而不是打印,因为您可以更好地控制它们。 Python 包含一个相当不错的日志库。

    用于从 Google App Engine 登录到例如Firebug 还有一些方便的工具叫做FirePython。这允许从您的 Django 或 WSGI 应用程序(它是中间件)中登录到 firebug 控制台。

    【讨论】:

      【解决方案3】:

      “有没有更好的技术来处理这个问题?”不是真的。

      “逐步调试器”是他们自己的问题。它们是一种精神支柱,可以很容易地获得看起来可行的东西。

      首先,查看http://code.google.com/appengine/docs/python/tools/devserver.html#The_Development_Console 是否有帮助。

      其次,请注意--debug 在运行时将详细的调试消息打印到控制台。

      最后,请注意,您需要大量的 Python 经验和 Google AppEngine 经验才能编写 Web 应用程序之类的东西。要获得这种体验,print 声明确实非常好。它向您展示正在发生的事情,并鼓励您真正了解您期望打算发生的事情。

      调试器是被动的。它演变为编写随机代码,查看会发生什么,进行更改直到它起作用。我看过人们这样做。

      打印语句处于活动状态。您必须计划应该发生的事情,编写代码并仔细考虑结果以查看计划是否成功。如果它没有达到您的预期,您必须假设并检验您的假设。如果它有效,那么您“了解”发生了什么。一旦你掌握了 Python 和 Google AppEngine 的语义,你的理解就会增长,这变得非常容易。

      【讨论】:

      • 谢谢。无意冒犯,但我真的在寻找像 Tomh 写的东西。我已经使用了很长时间,并且我熟悉它们的优点和缺点;我正在我的应用程序中寻找该功能。不过,那个开发控制台看起来很酷。
      • @Baltimark:没有冒犯。逐步调试器产生的问题比它们解决的问题多,但如果你认为它们有帮助,那很好。他们没有帮助,但在这里重要的是您对您的发展的看法,而不是我的经验。
      【解决方案4】:

      我的 GAE 调试工具箱:

      符号调试器不像其他地方那么受重视,可能是因为 Python 优越的自省和反射机制。

      【讨论】:

        猜你喜欢
        • 2011-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-18
        • 2018-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多