使用在同一时间调试器和诅咒?
-
19-09-2019 - |
题
我打电话python -m pdb myapp.py
,当异常火灾和我通常被扔回到PDB解释对问题进行调查。不过我已经通过curses.wrapper()
打来电话,进入诅咒模式,致使PDB解释无用后,此异常被抛出。我怎样才能解决此问题?
解决方案
James`答案是一个很好的,我已经upvoted,但我想也考虑试图分裂我的程序的逻辑层和表示层。保持诅咒一部分的薄层上形成库的基础上,写一个简单的驱动程序调用正确的程序来重新创建错误。然后,你可以潜水和做什么是必要的。
我能想到的另一种方法是创建一个名为debug
什么函数抛出你回到了常规屏幕和调用PDB。然后,只是引发异常并运行程序的代码之前坚持下去。类似
def debug(stdscr):
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
import pdb; pdb.set_trace()
显然,这是类似于与curses.wrapper
函数来完成。它在 http://www.amk.ca/python/howto/curses/简要提及一>
其他提示
不熟悉的Python,这可能不是正是你想要的。但很显然,winpdb可以连接到一个脚本 - 就像GDB可以对正在运行的进程(IIUC)。
http://winpdb.org/docs/launch-time/
不要被名字误导,它是平台独立的。
使用pyclewn
可以使用 pyclewn 用vim。 或者使用PDB克隆,pyclewn的核心 其良好的,其如GDB,可以远程调试
不隶属于 StackOverflow