當我試圖在uWSGI下使用python pdb調試器時,執行不會停在斷點上,它只是返回引用。如何在uWSGI下調試python應用程序?
這裏是代碼:
def application(env, start_response):
import pdb; pdb.set_trace()
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
我這是怎麼運行它:
uwsgi --http 127.0.0.1:7777 --wsgi-file uwsgi_test.py
,這就是我得到:
/home/andrey/Development/ttt/uwsgi_test.py(3)application()
-> start_response('200 OK', [('Content-Type','text/html')])
(Pdb)
Traceback (most recent call last):
File "uwsgi_test.py", line 3, in application
start_response('200 OK', [('Content-Type','text/html')])
File "uwsgi_test.py", line 3, in application
start_response('200 OK', [('Content-Type','text/html')])
File "/usr/lib/python2.7/bdb.py", line 48, in trace_dispatch
return self.dispatch_line(frame)
File "/usr/lib/python2.7/bdb.py", line 67, in dispatch_line
if self.quitting: raise BdbQuit
bdb.BdbQuit
[pid: 11421|app: 0|req: 1/1] 127.0.0.1() {32 vars in 366 bytes} [Sun Aug 25 13:12:06 2013] GET/=> generated 0 bytes in 63 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
你是否嘗試過以不同的方式進行調試(即不是使用'set_trace()'手動插入斷點)? –
我在簡單的文本編輯器中開發它,沒有任何IDE。所以我知道的唯一選擇是斷點。 – Anderson
檢查這個帖子:http://stackoverflow.com/questions/6980749/simpler-way-to-put-pdb-breakpoints-in-python-code 除了一個好的IDE可以真正讓生活更容易爲你(並有助於提高生產力等)。 –