Bạn có thể gỡ lỗi Python không?

Khi chúng ta viết xong một đoạn mã Python, nó thường chạy không tốt bình thường. Đó là lúc chúng ta cần debug code. Mặc dù hầu hết các IDE đều hỗ trợ gỡ lỗi mã, nhưng chúng ta sẽ nói về 4 phương pháp gỡ lỗi cơ bản của python trong bài viết này

Và với tư cách là một nhà phát triển, thật khó để đạt được tiến bộ và viết mã sạch trừ khi bạn biết cách sử dụng các công cụ này

Bài viết này sẽ giúp bạn làm quen với một công cụ như vậy.

Lưu ý rằng đây là hướng dẫn sửa lỗi. Tôi cho rằng bạn đã quen thuộc với ít nhất một ngôn ngữ lập trình và có ý tưởng về việc viết các trường hợp thử nghiệm

Làm thế nào để Bắt đầu với
poetry run python  --pdb
5

Có hai cách để gọi

poetry run python  --pdb
5

1. Gọi
poetry run python  --pdb
5 bên ngoài

Để gọi

poetry run python  --pdb
5 khi trên thiết bị đầu cuối, bạn có thể gọi nó trong khi thực thi tệp
poetry run python  --pdb
9 của mình

python -m pdb .py

Nếu bạn sử dụng thơ và pytest, cuối cùng bạn có thể gọi

poetry run python  --pdb
5 bằng cách sử dụng cờ
COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
1

poetry run python  --pdb

Để gọi

poetry run python  --pdb
5 với Docker,
COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
3 và
COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
4, bạn có thể sử dụng cú pháp sau

COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb

Bạn sẽ luôn thêm cờ

COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
1 sau tên tệp thử nghiệm của mình. Thao tác này sẽ mở bảng điều khiển
poetry run python  --pdb
5 khi thử nghiệm bị hỏng. Nhưng hãy nhớ rằng
COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
1 là cờ của
COMPOSE_PROJECT_NAME= docker-compose run --rm workers poetry run pytest :: --pdb
4

2. Thêm một điểm dừng với
poetry run python  --pdb
5

Có thể có trường hợp bạn nhận được [các] kết quả dương tính giả trong một bài kiểm tra. Trường hợp thử nghiệm của bạn có thể vượt qua nhưng bạn không nhận được dữ liệu như mong đợi

Nếu bạn muốn đọc truy vấn cơ sở dữ liệu thô thì sao?

Để đột nhập vào trình gỡ lỗi

poetry run python  --pdb
5, bạn cần gọi
poetry run python  --pdb
02 bên trong hàm của mình

Hãy hiểu điều này với một ví dụ hàm lồng nhau

poetry run python  --pdb
0____22____23

Trong đoạn mã trên, một hàm gọi một hàm khác

Bạn muốn thêm một điểm dừng trong

poetry run python  --pdb
03 để hiểu điều gì đang thực sự xảy ra trong hàm

Bạn có thể thêm một điểm ngắt với câu lệnh sau

poetry run python  --pdb
02

poetry run python  --pdb
6

poetry run python  --pdb
5 mở bảng điều khiển khi mã của bạn bị hỏng. Một cái gì đó như thế này

poetry run python  --pdb
8

Khi trình thông dịch Python thực thi

poetry run python  --pdb
06, nó sẽ đọc điểm dừng và mở bảng điều khiển
poetry run python  --pdb
5. Chúng tôi sử dụng các lệnh
poetry run python  --pdb
5 để điều hướng mã. Chúng ta sẽ tìm hiểu các lệnh này trong phần tiếp theo

Các lệnh
poetry run python  --pdb
5 chung

poetry run python  --pdb
5 là trình gỡ lỗi dòng lệnh tương tác. Bạn không thể khai thác hết tiềm năng của nó trừ khi bạn quen thuộc với các lệnh của nó

Giống như mọi nhật ký bảng điều khiển khác,

poetry run python  --pdb
5 sẽ cho bạn biết chính xác mã của bạn bị hỏng ở dòng nào

Lệnh

Giả sử bạn có một trường hợp thử nghiệm với câu lệnh

poetry run python  --pdb
22. Một cái gì đó như thế này

poetry run python  --pdb
6

Bạn sẽ sử dụng lệnh

poetry run python  --pdb
23 để in một giá trị ra bàn điều khiển

poetry run python  --pdb
8

Điều này in giá trị mà biến giữ

Lệnh

Lệnh up di chuyển bạn một khung hình lên ngăn xếp

Trong trường hợp gọi hàm lồng nhau, nó sẽ chuyển bạn lên hàm đã gọi hàm của bạn

Hãy lấy một ví dụ

poetry run python  --pdb
0

Trong

poetry run python  --pdb
5, chúng tôi sẽ gọi nó theo cách này

poetry run python  --pdb
1

Ở đây chúng tôi bắt đầu với việc gọi

poetry run python  --pdb
25. Quá trình thực thi dừng lại khi gặp phải
poetry run python  --pdb
26

poetry run python  --pdb
5 mở bảng điều khiển và đợi đầu vào. Chúng tôi gõ
poetry run python  --pdb
28 cho up và nó trả về chức năng gọi.
poetry run python  --pdb
29. Ở lệnh
poetry run python  --pdb
28 tiếp theo, nó trả về
poetry run python  --pdb
31 [hàm gọi
poetry run python  --pdb
03]

Chúng tôi đang sử dụng lệnh

poetry run python  --pdb
33. Đó là lệnh liệt kê. Nó liệt kê chính xác vị trí của dòng thực thi hiện tại

Lệnh

Để hiểu lệnh

poetry run python  --pdb
34, hãy tiếp tục với ví dụ trước

poetry run python  --pdb
2____03

Bạn nghi ngờ rằng kết quả trả về từ

poetry run python  --pdb
35 là không chính xác. Mã của bạn mỏ ở dòng 6. Làm thế nào để bạn bước vào dòng 3?

Bạn sẽ sử dụng lệnh

poetry run python  --pdb
36 trước và cuối cùng là bước vào hàm với lệnh
poetry run python  --pdb
37

poetry run python  --pdb
4

Khi bạn bước vào

poetry run python  --pdb
35, bảng điều khiển
poetry run python  --pdb
5 sẽ bắt đầu in các câu lệnh từ chức năng đó

Phần kết luận

poetry run python  --pdb
5 là một trình sửa lỗi mạnh mẽ. Hướng dẫn này nhằm mục đích giúp bạn làm quen với những điều cơ bản về
poetry run python  --pdb
5

Tôi khuyên bạn nên đọc tài liệu của nó để khám phá toàn bộ tiềm năng

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Jagruti Tiwari

Tôi là một Full Stack Developer. Tôi có khoảng 4 năm kinh nghiệm. Tôi làm việc với Java, Python và JavaScript. Tôi thích chia sẻ bất cứ điều gì tôi học được với cộng đồng

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Có thể gỡ lỗi Python không?

Gỡ lỗi trong Python được hỗ trợ bởi mô-đun pdb [trình gỡ lỗi python] tích hợp sẵn trong thư viện chuẩn Python . Nó thực sự được định nghĩa là lớp Pdb sử dụng bên trong các mô-đun bdb [chức năng gỡ lỗi cơ bản] và cmd [hỗ trợ cho trình thông dịch lệnh định hướng dòng].

Làm cách nào để gỡ lỗi tệp Python?

Thực thi câu lệnh [được cung cấp dưới dạng chuỗi hoặc đối tượng mã] dưới sự kiểm soát của trình gỡ lỗi. Lời nhắc của trình gỡ lỗi xuất hiện trước khi bất kỳ mã nào được thực thi;

Cách tốt nhất để gỡ lỗi trong Python là gì?

Công cụ tốt nhất để gỡ lỗi Python .
lính gác. Sentry là một công cụ theo dõi lỗi và theo dõi hiệu suất có thể chẩn đoán và giải quyết các vấn đề về python. .
Pycharm. Pycharm là một IDE tập trung vào python có một số công cụ gỡ lỗi python tốt nhất hiện có. .
thanh lăn. .
cài đặt. .
Visual Studio. .
súng ngắn. .
trục trặc. .
IDE Komodo

Python có khó gỡ lỗi không?

Nhưng khi nói đến Python, việc gỡ lỗi “ngoài luồng” hơi thô sơ và thô sơ hơn một chút; . Việc sử dụng các câu lệnh in dễ dàng hơn; . single-step debugging is the main way to debug Python code, and is quite slow and clunky. It's just easier to use print statements; Python founder Guido van Rossum [reportedly] uses them for 90 percent of his debugging.

Chủ Đề