Sử dụng Run Code / Run khi bạn muốn thực thi chương trình của mình và xem đầu ra của nó. Sử dụng Debug khi bạn muốn tạm dừng tại một dòng, kiểm tra các biến và tìm ra lý do tại sao kết quả lại sai. Gỡ lỗi đặc biệt hữu ích khi mã của bạn chạy mà không có lỗi nhưng lại cho ra một câu trả lời không mong đợi.

Hướng dẫn sử dụng trình chạy Python của CodeUtility với một ví dụ tính toán đơn giản. Bạn cũng có thể áp dụng cách đặt điểm dừng và chạy từng bước cho các trình chạy khác có hỗ trợ Debug. Khả năng hỗ trợ và các nút điều khiển có thể khác nhau tùy môi trường thực thi (runtime). Với ví dụ Python này, hãy chọn phiên bản chạy trên máy chủ. Ảnh chụp minh họa dùng giao diện tiếng Anh.

1. Thử một chương trình nhỏ với lỗi logic

Mở trình chạy Python, chọn Python 3.11 trong menu phiên bản rồi nhập bốn dòng dưới đây. Đơn giá 12 nhân với số lượng 3 phải bằng 36. Ví dụ này cố tình dùng phép cộng nên kết quả là 15.

price = 12
quantity = 3
total = price + quantity
print(total)

2. Thiết lập một điểm dừng trước khi bắt đầu Debug

Nhấp vào lề trái cạnh dòng 3, nơi có câu lệnh total = price + quantity. Chấm đỏ xuất hiện để đánh dấu điểm dừng (breakpoint). Khi chạy đến đây, trình gỡ lỗi sẽ tạm dừng. Nhấp lại vào chấm đỏ để xóa điểm dừng. Hãy đặt điểm dừng tại dòng có câu lệnh thực thi, tránh dòng trống hoặc chú thích.

Một điểm dừng màu đỏ bên cạnh dòng 3 đánh dấu nơi thực thi nên tạm dừng.
Một điểm dừng màu đỏ bên cạnh dòng 3 đánh dấu nơi thực thi nên tạm dừng.

3. Bắt đầu Debug và kiểm tra các giá trị

Chọn Debug trong thanh công cụ trình soạn thảo; di chuột qua một biểu tượng để xem nhãn của nó. Chờ cửa sổ gỡ lỗi báo Paused at line 3 (Đã tạm dừng tại dòng 3). Tạm dừng có nghĩa là chương trình đang chờ hành động gỡ lỗi tiếp theo của bạn.

Nhìn dưới VARIABLES: price là 12 và quantity là 3. Dòng 3 chưa được thực thi, vì vậy total chưa được liệt kê. Dòng được đánh dấu là câu lệnh tiếp theo sẽ được thực thi. CALL STACK cho thấy nơi thực thi hiện đang tạm dừng.

Tạm dừng trước dòng 3: price là 12 và quantity là 3; total chưa được gán giá trị.
Tạm dừng trước dòng 3: price là 12 và quantity là 3; total chưa được gán giá trị.

4. Bước qua phép tính

Nhấp vào Step Over (Bước Qua) một lần. Thực thi chuyển đến dòng 4, và total giờ đây xuất hiện với giá trị 15. Điều này cho thấy rằng câu trả lời sai đến từ việc cộng hai giá trị ở dòng 3.

Sau khi Bước Qua, trình gỡ lỗi tạm dừng tại dòng 4 và cho thấy total = 15.
Sau khi Bước Qua, trình gỡ lỗi tạm dừng tại dòng 4 và cho thấy total = 15.

Continue (Tiếp Tục) tiếp tục cho đến khi một điểm dừng khác được đạt hoặc chương trình hoàn thành. Step Over (Bước Qua) thực thi câu lệnh hiện tại mà không bước vào một hàm đã gọi. Step Into (Bước Vào) vào một hàm đã gọi khi được hỗ trợ. Step Out (Bước Ra) chạy cho đến khi hàm hiện tại trả về. Stop (Dừng), được hiển thị dưới dạng biểu tượng hình vuông, kết thúc phiên gỡ lỗi.

5. Sửa mã và chạy lại

Chọn Tiếp Tục để hoàn thành ví dụ, hoặc Dừng để kết thúc phiên. Thay thế dấu cộng ở dòng 3 bằng dấu nhân, sau đó chọn Run Code / Run để kiểm tra đầu ra. Bạn nên thấy 36. Bạn cũng có thể bắt đầu Debug lại và sử dụng Bước Qua để xác minh giá trị đã được sửa.

price = 12
quantity = 3
total = price * quantity
print(total)

Nếu gỡ lỗi không tạm dừng nơi bạn mong đợi

Kiểm tra rằng một điểm dừng màu đỏ đã được thiết lập trước khi bắt đầu Debug, rằng bạn đã chọn Debug, và rằng chương trình thực sự đã đạt đến dòng đó. Chọn một dòng có thể thực thi và xác nhận rằng runtime đã chọn hỗ trợ gỡ lỗi. Lỗi cú pháp có thể ngăn cản việc thực thi đạt đến một điểm dừng. Nếu chương trình của bạn yêu cầu đầu vào, hãy cung cấp nó trong terminal để việc thực thi có thể tiếp tục.

Cho phiên gỡ lỗi tiếp theo của bạn, đặt một điểm dừng ngay trước phép tính nghi ngờ, kiểm tra các đầu vào của nó, và bước tới cho đến khi bạn tìm thấy giá trị không mong đợi đầu tiên. Nếu bạn chỉ cần đầu ra cuối cùng, hãy chọn Run Code.