【问题标题】:How to debug internal server errors in eclipse when coding a django project?编写 django 项目时如何在 Eclipse 中调试内部服务器错误?
【发布时间】:2015-02-16 17:39:20
【问题描述】:

我在调试 ajax 视图时遇到了很多麻烦。这是一个期望发布请求然后返回一个 json 对象的视图。它会导致内部错误 500,但 eclipse 没有提供更多信息。无法访问标准调试页面,因为如果没有发布数据,视图会重定向。

解决这些问题的最佳方法是什么?我可以让 eclipse/pydev 告诉我内部错误 500 到底是什么吗?或者我真的需要一个浏览器插件并构建 POST 数据吗? (这可能很困难,因为涉及文件上传。)

实际上,我正在寻找一种在控制台中获取异常消息的方法。目前它只是说:

[16/Feb/2015 17:38:03] "POST /fotos/upload/ HTTP/1.1" 500 10907

帮助不大。

重要提示:这个问题是关于如何使调试更容易,而不是修复这个特定的视图。因此无需询问该视图的代码或日志文件。这是一个关于如何继续进行的一般性问题。

感谢您的宝贵时间!

【问题讨论】:

    标签: django eclipse pydev django-1.7


    【解决方案1】:

    可以通过多种方式生成内部服务器错误。最突出的方法之一是在服务器代码中出现语法错误。语法错误的范围可以从拼写错误到不正确的缩进(在 python 中)。尝试调试你的 python 代码。尝试找出错误点,看看是否存在拼写错误或缩进错误,例如使用制表符而不是空格(反之亦然)。

    另外,如果您在调试模式下运行 Django,请在浏览器中打开给出错误的链接,它会直接显示代码中是否存在任何编译时错误。

    编辑:我完全错过了您提到的“无法访问标准调试页面”的部分。那么在这种情况下,我会求助于使用标准打印语句进行调试并检查服务器日志以查找故障点。

    【讨论】:

    • 这就是我现在的工作方式,但似乎效果不佳。有没有办法让测试服务器在 shell 中更详细,所以它可以告诉我错误发生在哪一行。
    • 我猜这会有所帮助:stackoverflow.com/questions/5137042/…
    【解决方案2】:

    放置一个断点(单击该行的左侧或直接单击将断点添加到该位置)。一旦源代码到达该点,就会打开一个调试菜单,其中包含:

    1. -变量及其值
    2. -所有断点

    【讨论】:

      猜你喜欢
      • 2013-11-28
      • 1970-01-01
      • 2014-04-26
      • 2018-12-10
      • 2023-03-25
      • 2011-03-18
      • 2023-03-10
      • 2012-10-26
      相关资源
      最近更新 更多