追蹤與偵錯

學習導覽

在這一章中,我們將學習如何使用 Thonny 的追蹤與除錯功能。這些功能能幫助你理解程式執行的每一步,找出並修正程式中的問題。

  • 學習如何進入追蹤模式。
  • 掌握逐步執行程式的方法。
  • 學會檢查變數值及設置中斷點。
  • 理解如何利用除錯工具來修正錯誤。

什麼是追蹤與除錯功能?

Thonny 是一款簡單易用的 Python 編輯器,其內建的追蹤與除錯功能特別適合初學者。以下是它的特色:

  • 可以逐步執行程式,幫助你了解每一行程式碼的作用。
  • 提供即時變數檢視,讓你追蹤變數值的變化。
  • 支援設置中斷點,讓程式執行到特定位置時暫停。

如何使用 Thonny 的追蹤與除錯功能?

1. 啟用追蹤模式

  1. 打開 Thonny 並載入你的程式碼。
  2. 點擊工具列上的 Debug 按鈕(隱形的烏龜圖示)。
  3. 程式將進入逐步執行模式。

2. 使用除錯控制

以下是常用的控制按鈕及其作用:

  • Step Over: 執行當前行,並跳過函式內部的細節。
  • Step Into: 進入函式內部,檢查細節。
  • Step Out: 跳出函式,回到外部程式碼。
  • Continue: 讓程式執行到下一個中斷點或結束。

3. 檢視變數值

在 Thonny 的右側或底部的 Variables 面板,你可以檢視所有變數的即時值。觀察它們隨程式執行的變化,有助於找出問題所在。

4. 設置中斷點

斷點是一種讓程式暫停的工具,方便你專注於特定程式碼段的執行:

  1. 在程式碼行號的左側點擊,添加中斷點。
  2. 執行程式時,Thonny 會在中斷點處暫停。

常見問題與解答

問題 1:如何檢查變數值?

在除錯模式中,右側的 Variables 面板會顯示所有變數的即時值。點擊變數名稱可以檢查其詳細內容。

問題 2:中斷點無法生效?

確保程式已在除錯模式中執行,並檢查中斷點是否設置在有效的程式碼行。

問題 3:如何退出除錯模式?

點擊工具列上的Stop 按鈕即可退出除錯模式。

挑戰題目

挑戰 1:檢查變數值

編寫以下程式碼,使用除錯模式檢查變數 total 的值:

def add_numbers(a, b):
    total = a + b
    return total

result = add_numbers(3, 5)
print(result)

挑戰 2:修正錯誤

以下程式碼有一個錯誤,使用 Thonny 的除錯功能找出並修正它:

def divide_numbers(a, b):
    result = a / b
    return result

print(divide_numbers(5, 0))  # 錯誤:除以零

挑戰 3:數字累加問題

以下程式碼試圖計算數列的總和,但程式中有些邏輯錯誤,導致結果不正確。

請使用 中斷點變數觀察功能,找出並修正這些錯誤。

def calculate_sum(numbers):
	total = 0
	for i in range(len(numbers)):
		total += numbers[i]  # 累加數列元素

		# 錯誤:嘗試存取不存在的索引
		if i > len(numbers):
			print("發生錯誤:索引超出範圍!")

	return total

# 測試數列
numbers = [1, 2, 3, 4, 5]
result = calculate_sum(numbers)

print(f"數列總和:{result}")

任務目標

  • 設置斷點:在 for 迴圈內的 total += numbers[i] 行設置斷點,觀察變數 total 的變化。
  • 變數監控:檢查 numbers[i]total 在每次迭代中的值。
  • 追蹤執行流程:使用單步執行功能,確保程式執行邏輯正確。
  • 修正程式錯誤
    • 移除不必要的條件檢查 if i > len(numbers)
    • 確保程式正確計算數列的總和。

提示

  • 觀察條件 if i > len(numbers) 是否有意義。
  • 確保程式邏輯只在有效索引範圍內運行。

結語

透過本章的學習,你應該已經了解如何使用 Thonny 的追蹤與除錯功能。這些技巧將大幅提升你發現和解決程式問題的能力。試著多練習,成為一名更出色的 Python 程式設計師!