在PDB中运行Python Flask服务时,如何暂停/中断?

时间:2017-01-11 18:59:31

标签: python flask pdb

我目前正在尝试调试python烧瓶程序的内存使用情况,并且我可以通过添加以下内容在PDB中运行该程序:

import pdb
pdb.set_trace()

在我的服务器的入口点。然后我告诉PDB继续并运行该程序。

我已经读过,通过执行Ctrl-C,我可以暂停在PDB中运行的程序,但看起来Flask正在捕获KeyboardInterrupt异常:

^CKeyboardInterrupt
Traceback (most recent call last):
  File "./server.py", line 4, in <module>
    from mauie.defaults import *
  File "/lib/python2.7/site-packages/flask_socketio/__init__.py", line 414, in run
  File "/lib/python2.7/site-packages/gevent/baseserver.py", line 284, in serve_forever
  File "/lib/python2.7/site-packages/gevent/event.py", line 77, in wait
  File "/lib/python2.7/site-packages/gevent/hub.py", line 338, in switch
KeyboardInterrupt

但PDB提示永远不会出现。

1 个答案:

答案 0 :(得分:0)

set_trace()只是一个Python函数,因此您可以在代码中的任何位置调用它。您是否考虑过在代码中添加额外的断点并以这种方式查看内存?