在程式開發過程中,免不了會出現一些錯誤,既有文法方面的,也有邏輯方面的。文法方面的相對比較好檢測,因為當程式中有文法錯誤時,程式運作會直接停止,同時 Python 解釋器會給出錯誤提示。而對于邏輯錯誤,可能并不太容易發現,因為程式本身運作沒有問題,隻是運作結果是錯誤的。
當遇到程式有邏輯錯誤時,最好的解決方法就是對程式進行調試,即通過觀察程式的運作過程,以及運作過程中變量(局部變量和全局變量)值的變化,可以快速找到引起運作結果異常的根本原因,進而解決邏輯錯誤。
掌握一定的程式調試方法,是每一名合适的程式員的必備技能。多數的內建開發工具都提供了程式調試功能,本教程中使用的 IDLE 也不例外。本節将給大家示範如何使用 IDLE 調試 Python 程式。
在保證程式沒有文法錯誤的前提下,使用 IDLE 調試程式的基本步驟如下:
- 打開 Python Shell,在主菜單上選擇“Debug -> Debugger”選項,打開 Debug Control 對話框,同時 Python Shell 視窗中會顯示“[DEBUG ON]”,表示已經處于調試狀态,如圖 1 所示: 圖 1 處于調試狀态的 Python Shell
10.14 Python IDLE調試程式詳解 -
在 Python Shell 視窗中,選擇“File -> Open”菜單項,打開要調試的程式檔案,并向程式中的代碼添加斷點,其作用是:當程式執行至斷點位置時,會暫時中斷執行。根據需要,程式還可以恢複執行。
向程式中添加斷點,不能胡亂地添加,要有目的的添加。一般情況下,當想要檢視某個變量運作至某處代碼的值,就可以在該代碼位置添加一個斷點。
程式中添加斷點的方法是:在想要添加斷點的行上,點選滑鼠右鍵,在彈出的快捷菜單中選擇“Set BreakPoint”菜單項,添加斷點的代碼行,其背景會變成黃色,如圖 2 所示。
10.14 Python IDLE調試程式詳解 圖 2 給代碼添加斷點
同樣,如果想删除已添加的斷點,可以選中已添加斷點的行,然後點選滑鼠右鍵,選擇“Clear Breakpoint”。
- 添加完斷點之後,可以按 F5 快捷鍵,或者在打開的程式檔案菜單欄中選擇“Run -> Run Module”執行程式,這時 Debug Control 對話框中将顯示程式的執行資訊。如圖 3 所示。
10.14 Python IDLE調試程式詳解 圖 3 顯示程式的執行資訊
需要注意的是,勾選 Globals 複選框,将顯示全局變量,Debug Control預設隻顯示局部變量。
- 圖 3 中,調試工具欄中的 5 個按鈕的作用分别是:
- Go 按鈕:直接運作至下一個斷點處;
- Step 按鈕:用于進入要執行的函數;
- Over 按鈕:表示單步執行;
- Out 按鈕:表示跳出目前運作的函數;
- Quit 按鈕:表示結束調試。