Gỡ Lỗi Trong Python Với print() và pdb
Khi lập trình, lỗi (bug) là điều không thể tránh khỏi. Để tìm và sửa lỗi hiệu quả, ta có thể sử dụng cách in giá trị (print()
) hoặc dùng trình gỡ lỗi (pdb
).

1. Gỡ Lỗi Bằng print()
Phương pháp đơn giản nhất để kiểm tra lỗi là in giá trị của biến hoặc kết quả tính toán bằng print()
.
Ví dụ 1: Kiểm tra giá trị biến
def tinh_tong(a, b):
print("Giá trị của a:", a)
print("Giá trị của b:", b)
return a + b
result = tinh_tong(5, 10)
print("Tổng:", result)
Kết quả:
Giá trị của a: 5
Giá trị của b: 10
Tổng: 15
print()
giúp kiểm tra giá trị biến để tìm ra lỗi.
Ví dụ 2: Kiểm tra vòng lặp
for i in range(5):
print("Giá trị i:", i)
Kết quả:
Giá trị i: 0
Giá trị i: 1
Giá trị i: 2
Giá trị i: 3
Giá trị i: 4
In giá trị i
giúp kiểm tra logic vòng lặp.
Khi nào nên dùng print()
?
- Khi cần kiểm tra giá trị biến.
- Khi muốn xem luồng chạy của chương trình.
- Không hiệu quả với chương trình lớn hoặc lỗi phức tạp.
2. Gỡ Lỗi Bằng pdb
(Python Debugger)
Python cung cấp module pdb
giúp dừng chương trình tại một điểm và kiểm tra biến, dòng code tiếp theo.
Dừng Chương Trình Với pdb.set_trace()
import pdb
def tinh_tich(a, b):
pdb.set_trace() # Dừng tại đây
return a * b
result = tinh_tich(3, 4)
print("Tích:", result)
Khi chạy chương trình, nó sẽ dừng tại pdb.set_trace()
và cho phép nhập lệnh để kiểm tra.
Lệnh pdb |
Ý nghĩa |
---|---|
n (next) |
Chạy dòng tiếp theo |
c (continue) |
Tiếp tục chương trình |
q (quit) |
Thoát khỏi trình gỡ lỗi |
p variable_name |
In giá trị của biến |
Debug Với python -m pdb
Chạy file Python ở chế độ debug:
python -m pdb my_script.py
Sau đó có thể sử dụng các lệnh pdb
để kiểm tra lỗi.
Ví dụ: Debug Bước Từng Bước
import pdb
def chia_so(a, b):
pdb.set_trace()
return a / b
print(chia_so(10, 2))
- Khi chạy, gõ
p a
vàp b
để kiểm tra giá trị. - Gõ
n
để chạy từng dòng code.
3. Tóm Tắt
Phương pháp | Khi nào dùng? |
---|---|
print() |
Khi cần kiểm tra giá trị biến nhanh chóng |
pdb.set_trace() |
Khi cần dừng chương trình và debug từng bước |
python -m pdb script.py |
Khi muốn chạy file Python trong chế độ debug |
Sử dụng print()
để kiểm tra nhanh, còn pdb
giúp gỡ lỗi phức tạp hiệu quả hơn.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com