Gỡ lỗi không nên là một suy nghĩ sau khi triển khai một ứng dụng vào sản xuất. Nó nên được thực hiện thường xuyên nhất có thể trong quá trình phát triển vì điều này giúp dễ dàng theo dõi các lỗi mã và cung cấp cho các nhà phát triển bản sửa lỗi cho vấn đề khiến mã của họ không chạy. Hầu hết các nhà phát triển không biết rằng hàm in của Python không cung cấp bức tranh chính xác về các lỗi xảy ra trong quá trình phát triển. Vì vậy, bạn có thể sử dụng những gì để xác định và sửa chữa những lỗi này? Câu trả lời là các công cụ gỡ lỗi! Chúng cải thiện năng suất và giúp làm cho thời gian của quá trình viết mã hiệu quả.
Trình gỡ lỗi Python (pdb) là trình gỡ lỗi mã nguồn tương tác cho các chương trình Python. Ngoài gỡ lỗi, nó cung cấp thêm chức năng như thiết lập các điểm ngắt có điều kiện, xem từng dòng mã nguồn và kiểm tra các biến tại một dòng cụ thể và ngăn xếp cuộc gọi của nó.
Bài viết này sẽ giải thích cách công cụ gỡ lỗi, pdb
, được sử dụng để kiểm tra và phân tích mã của bạn để làm cho mã tuân thủ tiêu chuẩn ngành trong quá trình thử nghiệm và trước khi giao hàng cho người dùng.
Để hiểu quá trình gỡ lỗi, bạn cần có:
Để gỡ lỗi mã Python của bạn một cách chính xác, bạn cần biết các mẹo sau để giúp cải thiện năng suất và kiểm tra lỗi:
name = 'teri print(name)
Bảng điều khiển
Trong phần này, bạn sẽ kiểm tra mã Python bằng cách sử dụng Trình gỡ lỗi Python, pdb
. Để chạy qua mã và giải quyết lỗi khi nó xảy ra trong thời gian thực trong môi trường tương tác.
Mô-đun pdb
tích hợp sẵn là một phần của thư viện tiêu chuẩn mà Python đi kèm trong quá trình cài đặt trên công cụ làm việc của bạn. Công cụ này cung cấp cho bạn một số lệnh khác mà bạn có thể sử dụng khi kiểm tra chương trình của mình. Hãy viết một hàm bằng pdb. Tạo một tệp mới app.py
hoặc bất kỳ tên nào khác mà bạn muốn trong trình chỉnh sửa mã của mình, kết thúc bằng phần mở rộng .py
.
import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 10))
Đoạn mã trên thực hiện những việc sau:
pdb
thư việnmultiply_number
với hai tham số, num1
và num2
set_trace
, phương thức này hữu ích trong đối tượng pdb
vì nó tạm dừng chương trình của bạn và chuyển sang chế độ trình gỡ lỗi cho phép bạn nhập và kiểm tra mã của mình trong bảng điều khiển
Chạy chương trình này bằng lệnh python3 <name-of-file.py>
nhập trình gỡ lỗi, tại đây chúng ta có thể chuyển một số lệnh trình gỡ lỗi để chạy qua mã. Kiểm tra
Tiếp theo, hãy thử một số lệnh trong bảng điều khiển:
Nhập a hoặc args liệt kê tất cả các đối số được sử dụng trong hàm hiện tại, Multi_number.
Trước khi thử một lệnh khác, hãy cập nhật mã trong tệp app.py để bao gồm chuỗi như một phần của đối số, do đó, chương trình xuất ra lỗi trong khi thực thi:
# app.py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 'execute'))
Chạy lại chương trình bằng lệnh python3 app.py:
Gõ num1
và num2
trong bảng điều khiển, nó xuất ra kết quả của các đối số được truyền vào trong hàm Multi_number.
Các lệnh khác bạn có thể thử bao gồm bước tiếp theo, tiếp tục, v.v., có trong tài liệu.
Cuối cùng, khi pdb
đã xác định được lỗi trong mã và số dòng mà nó đã xảy ra, bạn có thể quay lại mã của mình và xóa nó bằng cách sửa lỗi và sử dụng đối số phù hợp để chương trình chạy.
Lưu ý: Mô-đun pdb
dùng để thử nghiệm trong quá trình phát triển, không phải sản xuất. Loại bỏ nó trước khi triển khai.
Bài viết này hướng dẫn bạn áp dụng các phương pháp hay nhất khi cố gắng sửa mã và xác định lỗi. Sử dụng phương pháp này tốt hơn chức năng in vì nó có nhiều tính năng hơn để giúp bạn cải thiện chất lượng mã của mình.