2008年10月17日 星期五

Python與Debug

只要有IDE(Integrated Development Environment)的程式語言,通常都可以仰賴Debug Mode來完成Debug的大業,只是IDE往往都是架構在GUI上,因此沒有顯示器的系統可能就無法享受這樣的便利性了。

而且有些程式語言要安裝IDE,實在是非常非常的麻煩,還要準備足夠的硬體資源來應付這樣的怪物。

至於Python Debug Mode完全是用Python Code來撰寫,還真的完全發揮了跨平台的實力,可以輕鬆移植到任何可安裝Python Interpreter的作業系統,而且不需要GUI就可以使用。

底下是一個簡單的範例

# coding=utf-8
def add(x):
    
value = '1'
    
return x + value

add(1)


執行這個檔案會出現以下的訊息

可以發現其實還是不知道錯誤到底在哪。

這時候若是直接打開檔案,當程式不多的時候,可以輕鬆的用肉眼判斷加法運算是不可以把數字與字串加在一起的,但程式很大的時候呢?

這時候就需要用到Debug Mode了


進入到command line模式(Windows=cmd.exe)
用Debug Mode執行檔案
python -m pdb add.py





然後下達這些指令(圖片底下為逐行解釋)




在(Pdb)模式下

設置breakpoint 3,可以比照第一次執行檔案時,發生錯誤的行數
b 3



開始執行程式直到breakpoint
r



開始檢查此行究竟發生何事?
x + value



印出x
x



印出value
value

原來是value為字串


試著將value更改為int型態
value = int(value)



繼續執行程式
r

成功return 2!

沒有留言: