[英]how to debug python-twisted ipdb
有沒有辦法在扭曲的應用程序中運行交互式調試器?
import ipdb;ipdb.set_trace()
解決這個問題:
7-02-03T22:25:49+0100 [stderr#error] Traceback (most recent call last):
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
2017-02-03T22:25:49+0100 [stderr#error] self.run()
2017-02-03T22:25:49+0100 [stderr#error] File "bo/OLA_test.py", line 110, in run
2017-02-03T22:25:49+0100 [stderr#error] self.wrapper.Run()
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/dist-packages/ola/ClientWrapper.py", line 278, in Run
2017-02-03T22:25:49+0100 [stderr#error] self._ss.Run()
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/dist-packages/ola/ClientWrapper.py", line 197, in Run
2017-02-03T22:25:49+0100 [stderr#error] self._CheckTimeouts(now)
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/dist-packages/ola/ClientWrapper.py", line 222, in _CheckTimeouts
2017-02-03T22:25:49+0100 [stderr#error] event.Run()
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/dist-packages/ola/ClientWrapper.py", line 67, in Run
2017-02-03T22:25:49+0100 [stderr#error] self._callback()
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/bdb.py", line 49, in trace_dispatch
2017-02-03T22:25:49+0100 [stderr#error] return self.dispatch_line(frame)
2017-02-03T22:25:49+0100 [stderr#error] File "/usr/lib/python2.7/bdb.py", line 68, in dispatch_line
2017-02-03T22:25:49+0100 [stderr#error] if self.quitting: raise BdbQuit
與Twisted == 16.6.0
您只需要將stdin和stdout附加到有用的東西上即可。 確保您不守護進程,並告訴日志記錄系統不要與stdio捆綁。
另外,您可以使用不需要stdin和stdout的調試器。 例如,使用pudb
:
import pudb.remote
pudb.remote.set_trace()
另外,您沒有要求,但是多處理和Twisted大多不兼容。 可以讓他們在精心呵護的情況下可靠地工作,但是通常有更簡單的方法可以完成同一件事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.