Đây là cách bạn sẽ sử dụng pdb trong dòng lệnh mà không cần triển khai bất kỳ thứ gì trong mã nguồn của bạn (tài liệu và các tài nguyên trực tuyến khác không giải thích tốt điều này cho một lập trình viên trước đây chỉ sử dụng trình gỡ lỗi trực quan):
Bắt đầu pdb bằng cách nhập nội dung sau vào dấu nhắc trình bao:
python -m pdb 'python_script'
Lệnh này khởi tạo pdb và trình gỡ lỗi pdb sẽ ngắt ở dòng đầu tiên của python_script của bạn và đợi bạn nhập:
(Pdb)
Đây là giao diện để giao tiếp với trình gỡ lỗi. Bây giờ, bạn có thể chỉ định các lệnh của mình tại đây. Không phản đối việc sử dụng các nút hoặc phím tắt trong trình gỡ lỗi trực quan, ở đây bạn sẽ sử dụng các lệnh để thu được kết quả tương tự.
Bạn có thể chuyển đến dòng tiếp theo trong mã của mình bằng lệnh "n" (tiếp theo):
(Pdb) n
Thực hiện tiếp theo sẽ hiển thị số dòng và mã cụ thể trong nguồn:
> python_script(line number)method name
-> current line in the source code
Bạn có thể đặt điểm ngắt bằng cách chỉ định số dòng trong mã nguồn của mình.
(Pdb) b 50
Ở đây, trình gỡ lỗi được đặt để ngắt ở dòng 50. Nếu không có bất kỳ điểm ngắt nào khác, điểm ngắt ở dòng 50 sẽ là điểm đầu tiên và nó có thể được tham chiếu bởi id điểm ngắt là 1 trong trường hợp này. Nếu bạn thêm nhiều điểm ngắt, chúng sẽ nhận được số nhận dạng tuần tự (tức là, 2, 3, v.v.)
Khi một điểm ngắt được thiết lập, bạn sẽ tiếp tục thực hiện chương trình của mình cho đến khi pdb đến điểm ngắt như sau:
(Pdb) c
Khi bạn đến một điểm ngắt, bạn có thể chuyển sang dòng tiếp theo, với lệnh n như đã mô tả trước đó. Nếu bạn muốn kiểm tra giá trị của các biến, bạn sẽ thực hiện lệnh tham số như sau:
(Pdb) p variable_name
Nếu bạn không cần một điểm ngắt nữa, bạn có thể xóa nó bằng cách chuyển vào id của điểm ngắt bằng lệnh clear:
(Pdb) clear 1
Cuối cùng, khi bạn hoàn tất với trình gỡ lỗi, bạn có thể thoát khỏi quá trình thực thi như thoát trình thông dịch dòng lệnh python.
(Pdb) exit()
Tôi hy vọng điều này sẽ giúp bất kỳ ai bắt đầu với pdb. Đây là danh sách các lệnh bạn có thể sử dụng với trình gỡ lỗi: pdb so câu hỏi và câu trả lời