webapp2/App Engine调试模式不输出错误或堆栈跟踪

2 投票
1 回答
1602 浏览
提问于 2025-04-17 10:18

我正在使用最新版本的Google App Engine,Python 2.7和webapp2,但是开启调试模式后,出错时只显示一个空白的HTML页面,而不是显示错误信息和堆栈跟踪。这似乎不是预期的行为:

“在调试模式下,任何被捕获的异常都会被重新抛出,并且堆栈跟踪会显示给客户端。”
http://webapp-improved.appspot.com/guide/app.html

我是不是做错了什么?如果没有,我该如何在webapp2中使用自定义错误处理器打印堆栈跟踪呢?

谢谢。

编辑:这是一个能重现错误的示例应用:

app.yaml

application: testapp
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: main.app

libraries:
- name: jinja2
  version: "2.6"

main.py

import webapp2

# Run application
app = webapp2.WSGIApplication([webapp2.Route('/', handler='handlers.IndexHandler')], debug=True)

因为没有名为“handlers.py”的文件来包含IndexHandler,所以这个应用会抛出500服务器错误。但是即使debug = True,应用也只显示一个空白页面,并没有输出错误和堆栈跟踪,除了在App Engine的日志中。

我还没有在生产服务器上尝试过这个。

1 个回答

0

看起来这个bug在最新版本的webapp2中已经修复了:http://code.google.com/p/webapp-improved/source/detail?r=da20281cbba3f593ca49667752c0a2395ea483c5

我想这个修复最终会包含在App Engine SDK中。

撰写回答