天天看點

10.14 Python IDLE調試程式詳解

在程式開發過程中,免不了會出現一些錯誤,既有文法方面的,也有邏輯方面的。文法方面的相對比較好檢測,因為當程式中有文法錯誤時,程式運作會直接停止,同時 Python 解釋器會給出錯誤提示。而對于邏輯錯誤,可能并不太容易發現,因為程式本身運作沒有問題,隻是運作結果是錯誤的。

當遇到程式有邏輯錯誤時,最好的解決方法就是對程式進行調試,即通過觀察程式的運作過程,以及運作過程中變量(局部變量和全局變量)值的變化,可以快速找到引起運作結果異常的根本原因,進而解決邏輯錯誤。

掌握一定的程式調試方法,是每一名合适的程式員的必備技能。多數的內建開發工具都提供了程式調試功能,本教程中使用的 IDLE 也不例外。本節将給大家示範如何使用 IDLE 調試 Python 程式。

在保證程式沒有文法錯誤的前提下,使用 IDLE 調試程式的基本步驟如下:

  1. 打開 Python Shell,在主菜單上選擇“Debug -> Debugger”選項,打開 Debug Control 對話框,同時 Python Shell 視窗中會顯示“[DEBUG ON]”,表示已經處于調試狀态,如圖 1 所示:
    10.14 Python IDLE調試程式詳解
    圖 1 處于調試狀态的 Python Shell
  2. 在 Python Shell 視窗中,選擇“File -> Open”菜單項,打開要調試的程式檔案,并向程式中的代碼添加斷點,其作用是:當程式執行至斷點位置時,會暫時中斷執行。根據需要,程式還可以恢複執行。

    向程式中添加斷點,不能胡亂地添加,要有目的的添加。一般情況下,當想要檢視某個變量運作至某處代碼的值,就可以在該代碼位置添加一個斷點。

    程式中添加斷點的方法是:在想要添加斷點的行上,點選滑鼠右鍵,在彈出的快捷菜單中選擇“Set BreakPoint”菜單項,添加斷點的代碼行,其背景會變成黃色,如圖 2 所示。

    10.14 Python IDLE調試程式詳解

    圖 2 給代碼添加斷點

    同樣,如果想删除已添加的斷點,可以選中已添加斷點的行,然後點選滑鼠右鍵,選擇“Clear Breakpoint”。

  3. 添加完斷點之後,可以按 F5 快捷鍵,或者在打開的程式檔案菜單欄中選擇“Run -> Run Module”執行程式,這時 Debug Control 對話框中将顯示程式的執行資訊。如圖 3 所示。
    10.14 Python IDLE調試程式詳解

    圖 3 顯示程式的執行資訊

    需要注意的是,勾選 Globals 複選框,将顯示全局變量,Debug Control預設隻顯示局部變量。

  4. 圖 3 中,調試工具欄中的 5 個按鈕的作用分别是:
    • Go 按鈕:直接運作至下一個斷點處;
    • Step 按鈕:用于進入要執行的函數;
    • Over 按鈕:表示單步執行;
    • Out 按鈕:表示跳出目前運作的函數;
    • Quit 按鈕:表示結束調試。
    通過使用這 5 個按鈕,可以檢視程式執行過程中各個變量值的變化,直至程式運作結束。程式調試完畢後,可以關閉 Debug Control 視窗,此時在 Python Shell 視窗中将顯示 “[DEBUG OFF]”,表示已經結束調試。