如何调试 Python 扭曲的 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

跟扭曲==16.6.0

你只需要将 stdin 和 stdout 附加到有用的东西上。 确保你没有守护进程,并告诉日志记录系统不要搞砸stdio。

或者,您可以使用不需要标准输入和标准输出的调试器。 例如,对于pudb

import pudb.remote
pudb.remote.set_trace()

另外,你没有问,但多处理和扭曲大多是不兼容的。 让它们非常小心地可靠地协同工作是可能的 - 但通常有更简单的方法来完成同样的事情。

相关内容

  • 没有找到相关文章

最新更新