Tôi đang sử dụng mô đun pdb để gỡ lỗi chương trình. Tôi muốn hiểu cách tôi có thể thoát pdb và cho phép chương trình tiếp tục hoàn thành. Chương trình có tính toán đắt tiền để chạy, vì vậy tôi không muốn thoát mà không có kịch bản cố gắng hoàn thành. continue
dường như không hoạt động. Làm thế nào tôi có thể thoát pdb và tiếp tục với chương trình của tôi?Cách thoát pdb và cho phép chương trình tiếp tục?
Trả lời
continue
nên "Tiếp tục thực hiện, chỉ dừng lại khi gặp điểm ngắt", vì vậy bạn đã đặt điểm ngắt ở đâu đó. Để loại bỏ các breakpoint (nếu bạn chèn nó bằng tay):
(Pdb) break
Num Type Disp Enb Where
1 breakpoint keep yes at /path/to/test.py:5
(Pdb) clear 1
Deleted breakpoint 1
(Pdb) continue
Hoặc, nếu bạn đang sử dụng pdb.set_trace()
, bạn có thể thử loại này (mặc dù nếu bạn đang sử dụng pdb theo những cách lạ mắt hơn, điều này có thể phá vỡ mọi thứ. ..)
(Pdb) pdb.set_trace = lambda: None # This replaces the set_trace() function!
(Pdb) continue
# No more breaks!
Ở trên không __exit__ pdb. –
@SteveBarnes: Có phải không? – voithos
Giới thiệu về từ thứ 15 của câu hỏi! –
Nếu bạn thực sự muốn thoát khỏi chương trình gỡ rối thì bạn cần phải chạy một cái gì đó giống như WinPdb cho phép bạn tách từ quá trình này và sau đó thoát khỏi debugger, (NB đó là đa nền tảng).
Nếu bạn muốn tiếp tục gỡ lỗi nhưng không còn dừng lại ở một breakpoint được thì bạn cần phải:
- Hãy ghi nhớ số breakpoint, (hoặc các tập tin và số dòng),
- Hoặc là
cl bp_number
hoặcclear file:line
để xóa vĩnh viễn điểm ngắt hoặcdisable pb_number
để tắt nó đi nhưng có thể bật lại. - Sau đó,
continue
và chương trình của bạn chạy cho đến khi đó khác nhau điểm ngắt được nhấn.
Để biết thêm chi tiết ở trên, hãy xem the manual.
Đơn giản Ctrl - D sẽ thoát ra khỏi pdb. Nếu bạn muốn tiếp tục chứ không phải là phá vỡ, chỉ cần nhấn c chứ không phải là toàn bộ continue
lệnh
Điều gì về khi bạn đang ở bên trong một hàm, bên trong một vòng lặp? Có vẻ như chỉ cần đi đến vòng lặp tiếp theo cho tôi, và tôi không thể thực sự đóng pdb, hoặc thậm chí đóng python, mà không đóng cửa toàn bộ thiết bị đầu cuối? –
- 1. Làm cách nào để lưu tiến trình của chương trình và tiếp tục sau?
- 2. Ngắt (tạm dừng) chạy chương trình Python trong pdb?
- 3. lấy mã thoát cho chương trình python
- 4. Cách thoát chương trình: sys.stderr.write() hoặc in
- 5. Chương trình đã thoát với mã -2147483645
- 6. mục tiêu C cho vòng lặp ngắt và tiếp tục
- 7. Sự khác nhau giữa chương trình thủ tục và chương trình hướng đối tượng là gì?
- 8. Thoát khỏi một chương trình bằng Python?
- 9. Tại sao bộ nhớ chương trình Delphi của tôi tiếp tục phát triển?
- 10. Làm thế nào để thoát khỏi một phương pháp mà không cần thoát khỏi chương trình?
- 11. Chạy chương trình từ trăn, và có nó tiếp tục chạy sau khi kịch bản được giết
- 12. Heap có được giải phóng khi chương trình thoát không?
- 13. Cách thích hợp để trì hoãn trong khi cho phép vòng lặp chạy tiếp tục
- 14. gdb: thoát khỏi chương trình mà không thoát khỏi gdb
- 15. C# điểm dừng và tiếp tục
- 16. Cách đúng để thoát khỏi chương trình Qt?
- 17. Làm cách nào để cho phép hai quy trình đồng thời giao tiếp?
- 18. trình thông dịch python: ngắt và tiếp tục
- 19. Cách dọn dẹp chương trình khi thoát khỏi chương trình javafx?
- 20. Cách thích hợp để thoát khỏi chương trình dòng lệnh?
- 21. Cách thoát ứng dụng java từ bên trong chương trình
- 22. Ngoại lệ bị bắt nhưng chương trình vẫn tiếp tục chạy
- 23. chương trình đã thoát với mã -1073610751 (0xc0020001)
- 24. Tiếp tục phiên trình duyệt trong JNLP
- 25. tập tin biên dịch PDB và Linker PDB nộp
- 26. Làm thế nào để thoát gdb nếu chương trình thành công, ngắt nếu chương trình bị treo?
- 27. Cách khởi chạy chương trình với quyền người dùng thay vì cho phép hoạt động
- 28. BASH, kiểm tra xem tệp có tồn tại không và tiếp tục thoát khác
- 29. Coroutines hoặc tiếp tục cho lập trình Web bằng Python và Ruby. Tại sao không?
- 30. Cách thoát hoặc thoát khỏi ứng dụng Windows Phone 8 của tôi theo chương trình?
'CONTINUE' thoát vòng, 'return' thoát phương pháp/chức năng – Stephan
@Stephan: Anh ấy nói về' CONTINUE', lệnh pdb . Không phải là câu lệnh Python. – voithos
@turtle: 'continue' nên" Tiếp tục thực hiện, chỉ dừng lại khi gặp phải điểm ngắt ", theo tài liệu. Bạn có một thiết lập breakpoint đó là nhận được hit? – voithos