2010-08-09 45 views

回答

9

如果你把

import pdb 
pdb.set_trace() 

在你的代碼,Web應用程序將在執行set_trace下降到PDB調試會話。

也是有用的,是

import code 
code.interact(local=locals()) 

它會把你的Python解釋器。按下Ctrl-d恢復執行。

還有更有用,是

import IPython.Shell 
ipshell = IPython.Shell.IPShellEmbed() 
ipshell(local_ns=locals()) 

它會把你到IPython的會話(假設你已經安裝的IPython)。在這裏,按Ctrl-d恢復執行。

3

如果您正在運行通過Apache和mod_wsgimod_python你的web應用,都提供了通過與PDB調試一步一定的支持。訣竅是你必須用-X標誌在前臺模式下運行apache。

在我的Gentoo系統我這樣做是有(這基本上是在Apache的init腳本使用更換-k與-X啓動相同的命令):

/usr/sbin/apache2 -D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PYTHON -d /usr/lib64/apache2 -f /etc/apache2/httpd.conf -X 
+0

您可能還需要啓用PythonEnablePdb選項,如modpython文檔中所述 - http://modpython.org/live/current/doc-html/directives.html#pythonenablepdb – Guruprasad 2014-05-29 12:19:00