PyPy đã bắt đầu triển khai RevDB, hỗ trợ gỡ lỗi ngược.
Đó là (tính đến tháng 2 năm 2017) vẫn ở giai đoạn alpha, chỉ hỗ trợ Python 2.7, chỉ hoạt động trên Linux hoặc OS X và yêu cầu bạn tự xây dựng Python từ bản sửa đổi đặc biệt. Nó cũng rất chậm và sử dụng rất nhiều RAM. Để trích dẫn trang Bitbucket:
Lưu ý rằng tệp nhật ký thường phát triển với tốc độ 1-2 MB mỗi giây. Giả sử kích thước không phải là vấn đề, yếu tố giới hạn là:
- Thời gian phát lại. Nếu quá trình thực hiện được ghi lại của bạn mất hơn một vài phút, việc phát lại sẽ chậm một cách đau đớn. Đôi khi nó cần phải đi qua toàn bộ nhật ký nhiều lần trong một phiên duy nhất. Nếu lỗi xảy ra ngẫu nhiên nhưng hiếm khi, bạn nên chạy ghi trong vài phút, sau đó giết quá trình và thử lại, liên tục cho đến khi bạn gặp sự cố.
- Mức sử dụng RAM để phát lại. Yêu cầu bộ nhớ RAM lớn hơn 10 hoặc 15 lần để phát lại hơn là để ghi.Nếu đó là quá nhiều, bạn có thể thử với giá trị thấp hơn cho MAX_SUBPROCESSES trong _revdb/process.py, nhưng nó sẽ luôn lớn hơn vài lần.
Cụ thể trên PyPy blog và lắp đặt và sử dụng hướng dẫn có trên RevDB bitbucket page.
Không. PDB không thể quay ngược thời gian. –
@MartijnPieters xem chỉnh sửa của tôi, tài liệu cho biết bạn có thể quay lại một dòng, vì vậy không thể thực hiện việc này hoặc chuyển về dòng trước bằng cách nào đó? – YPCrumble
Nhảy trở lại chức năng không thành công và khôi phục trạng thái gây ra lỗi là hai thứ khác nhau. –