2014-01-21 104 views
0

我使用vi编辑器编写Python curses程序。想了解如何调试模块来调试它?Debuggin Python诅咒程序

有没有我可以使用的工具?

+2

有PDB,Python调试器...... – MattDMo

+3

好吧,一旦你明白如何调试模块,你就会明白如何调试模块来调试它。归纳证明。 :) – abarnert

+2

无论如何,您可以使用与调试任何其他Python程序相同的方式进行调试 - 在调试器中运行它,插入'logging'语句,将程序的某些部分提取到单元测试等内容 - 除了简单'print'。 – abarnert

回答

3

轻松地调试一个curses程序,你可以使用curses.wrapper这样的:

import curses 
def make_me_an_error(screen, numerator, denominator): 
    screen.addstr(0, 0, str(numerator/denominator)) # divide by zero 

curses.wrapper(make_me_an_error, 1, 0) 

在从make_me_an_error回报或异常,包装自动清理屏幕,它恢复到原来的设置

wrapper docs

初始化curses并调用另一个可调用对象func,它应该是 是你的诅咒使用应用程序的其余部分。如果应用程序 引发异常,则此函数将在重新引发异常并生成回溯之前将该终端恢复到稳定的 状态。然后,将可调用对象func作为其 第一个参数传递给主窗口'stdscr',然后传递给包装器()的任何其他参数。 在调用func之前,wrapper()打开cbreak模式,关闭echo, 启用终端键盘,并且如果终端 具有颜色支持,则初始化颜色。退出时(无论是正常还是例外), 恢复烹饪模式,打开回声,并禁用终端键盘。