Mat*_*ner 10 python curses interpreter exception pdb
我正在调用python -m pdb myapp.py
,当异常触发时,我通常会被抛回到pdb解释器来调查问题.但是,在我调用curses.wrapper()
并进入curses模式后抛出此异常,导致pdb解释器无效.我该如何解决这个问题?
Nou*_*him 10
詹姆斯的答案是好的,我赞成了它,但我也考虑尝试分割我的程序的逻辑和表示层.将curses部分保留在库的顶部,并编写一个简单的驱动程序,调用正确的例程来重新创建错误.然后你可以潜入并做必要的事情.
我能想到的另一种方法是创建一个叫做的函数debug
或者让你重新回到常规屏幕并调用pdb的东西.然后在引发异常的代码之前粘贴它并运行程序.就像是
def debug(stdscr):
curses.nocbreak()
stdscr.keypad(0)
curses.echo()
curses.endwin()
import pdb; pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)
显然,这与curses.wrapper
功能相似.它在http://www.amk.ca/python/howto/curses/上简要提到过.
不熟悉Python,这可能不是你想要的.但显然,winpdb可以附加到脚本 - 就像gdb可以连接到正在运行的进程(IIUC).
http://winpdb.org/docs/launch-time/
不要被名称误导,它与平台无关.
归档时间: |
|
查看次数: |
1843 次 |
最近记录: |