paint-brush
Giới thiệu về Python Debugging với Pdbtừ tác giả@terieyenike
2,569 lượt đọc
2,569 lượt đọc

Giới thiệu về Python Debugging với Pdb

từ tác giả Teri4m2022/08/24
Read on Terminal Reader
Read this story w/o Javascript

dài quá đọc không nổi

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. Nó cung cấp chức năng bổ sung 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. 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. Nó 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.
featured image - Giới thiệu về Python Debugging với Pdb
Teri HackerNoon profile picture

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.


Điều kiện tiên quyết

Để hiểu quá trình gỡ lỗi, bạn cần có:

  • Python được cài đặt trên máy cục bộ của bạn
  • Kiến thức về Python


Các cách cải thiện các chương trình Python của bạn

Để 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:

  • Linting: Nó phát hiện các vấn đề với mã của bạn trước khi chạy mã. Một cách để thực hiện công việc này là cài đặt phần mềm giúp mã hóa màu chương trình của bạn để bạn mắc ít lỗi hơn và nhanh chóng giải quyết chúng khi IDE (VS Code) chỉ ra lỗi. Một trong những công cụ như vậy là Pylint và nó đưa ra gợi ý khi bạn viết mã.
  • Môi trường phát triển tích hợp (IDE) / trình soạn thảo: Các IDE dành riêng cho Python như PyCharm hoặc Mã VS có các công cụ và tính năng tích hợp giúp tự động định dạng mã dựa trên PEP8 và đánh dấu mã của bạn khi có lỗi.
  • Đọc lỗi: Học cách đọc lỗi mã trong các chương trình Python của bạn sẽ giải quyết đáng kể một nửa vấn đề vì bạn có thể hiểu ý nghĩa của chúng trong bảng điều khiển.


 name = 'teri print(name)


Bảng điều khiển

Gỡ lỗi Python với pdb

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:

  • Nhập pdb thư viện
  • Định nghĩa một hàm, multiply_number với hai tham số, num1num2
  • Gọi thư viện bằng phương thức 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
  • Nhận kết quả của các đối số với từ khóa return
  • Gọi hàm và chuyển vào các đối số số


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 Lệnh gỡ lỗi tài liệu để tìm danh sách đầy đủ các lệnh bạn có thể sử dụng.


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:

num1num2 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.

Sự kết luận

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.


Tìm hiểu thêm