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ớipoetry run python --pdb
5Có hai cách để gọi
poetry run python --pdb
51. Gọi poetry run python --pdb
5 bên ngoài
poetry run python --pdb
Để 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ìnhpython -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
1poetry 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 sauCOMPOSE_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
42. Thêm một điểm dừng với poetry run python --pdb
5
poetry run python --pdb
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ìnhHãy hiểu điều này với một ví dụ hàm lồng nhau
poetry run python --pdb
0____22____23Trong đ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àmBạn có thể thêm một điểm ngắt với câu lệnh sau
poetry run python --pdb
02poetry run python --pdb
6poetry 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àypoetry run python --pdb
8Khi 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 theoCác lệnh poetry run python --pdb
5 chungpoetry 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àoLệ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àypoetry run python --pdb
6Bạn sẽ sử dụng lệnh
poetry run python --pdb
23 để in một giá trị ra bàn điều khiểnpoetry 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
0Trong
poetry run python --pdb
5, chúng tôi sẽ gọi nó theo cách nàypoetry 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
26poetry 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ạiLệnh
Để hiểu lệnh
poetry run python --pdb
34, hãy tiếp tục với ví dụ trướcpoetry run python --pdb
2____03Bạ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
37poetry run python --pdb
4Khi 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ậnpoetry 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
5Tô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
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