2014-01-21 147 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, 啓用終端鍵盤,並且如果終端 具有顏色支持,則初始化顏色。退出時(無論是正常還是例外), 恢復烹飪模式,打開回聲,並禁用終端鍵盤。