2012-02-01 31 views
13

Bạn có thể làm quen vớiCó bất kỳ giải pháp thay thế mã nguồn mở nào cho Trình gỡ lỗi ReplayDIRECTOR/Chronon không?

họ cả quảng cáo mình là 'Java DVR' - được có bất kỳ triển khai mã nguồn mở cung cấp tương tự (thậm chí một tập con của các tính năng của họ)?

Trả lời

10

Những người duy nhất tôi biết là

+3

Thật không may là tôi [không thể nhận được Trình gỡ lỗi toàn diện để làm việc chút nào] (http://stackoverflow.com/questions/9686946/how-to-use-omniscient-debugger) trên Java 6, Jive ít nhất là một thứ tự độ lớn chậm hơn so với Chronon, Whyline không có gì lạ và "rất lỗi", và Diver tôi đã không thử nhưng trông giống như một món đồ chơi. Vì vậy, tôi không nghĩ rằng bất kỳ lựa chọn nào trong số này là những thay thế chất lượng sản xuất cho Chronon. Tuy nhiên, chúng có thể hữu ích cho mục đích giáo dục và nghiên cứu. –

5

Trình gỡ rối toàn diện ghi lại dữ liệu theo dõi để truy vấn sau đó. Chúng thường được gọi là các trình gỡ rối ngược lại, ngược thời gian, hai chiều hoặc du hành thời gian, nhưng tôi thích đặt trước các thuật ngữ đó cho các trình gỡ rối cho phép thực sự đảo ngược trong một chương trình trực tiếp.

TODopen-source trình gỡ lỗi toàn diện cho Java.

JIVE là một trình gỡ lỗi toàn diện miễn phí khác cho Java, mặc dù không phải là nguồn mở.

Trình gỡ lỗi GNU, gdb. Nó có hai chế độ, một là process record and replay, một chế độ khác là true reverse debugging. Nó là cực kỳ chậm, vì nó undoes hướng dẫn máy duy nhất tại một thời điểm.

Và đối với Python, nguyên mẫu trình gỡ rối python mở rộng, epdb, cũng là trình gỡ lỗi đảo ngược thực sự. Đây là thesis và đây là program and the code. Tôi sử dụng epdb như là một điểm khởi đầu để tạo ra một trình gỡ lỗi ngược trực tiếp như một phần của văn bằng thạc sĩ của tôi. Luận án đề cập đến các chi tiết về việc triển khai, cũng như hầu hết các phương pháp lịch sử để đảo ngược gỡ lỗi. Nó có sẵn trực tuyến: Combining reverse debugging and live programming towards visual thinking in computer programming.

+0

Tôi nghĩ rằng câu hỏi là yêu cầu các lựa chọn thay thế cho JVM. Các giải pháp thay thế cho các ứng dụng gốc hoặc các thời gian hoạt động khác sẽ là một câu hỏi hoàn toàn khác. –

+1

@RobinGreen Tôi không đồng ý với cách tiếp cận của bạn. Mặc dù câu hỏi của ông đưa ra hai ví dụ về 'Java DVR', nhưng nó được gắn thẻ không phải với Java, nhưng nói chung là 'gỡ lỗi ngược'. Anh ấy yêu cầu "triển khai mã nguồn mở _any_ cung cấp các tính năng tương tự". Tuy nhiên, trong trường hợp anh ta chỉ có nghĩa Java, hai mục đầu tiên trong câu trả lời của tôi, TOD và JIVE, trả lời đầy đủ câu hỏi về Java. Sau đó tôi thêm hai thứ nữa cho các ngôn ngữ khác, trong trường hợp anh ta có ý nghĩa nhiều hơn.Một câu trả lời toàn diện bao hàm ý nghĩa của người dùng, theo khả năng, là một cách tiếp cận tốt mà không nên bỏ phiếu, theo ý kiến ​​của tôi – Abraham

+0

@Abraham Cảm ơn bạn rất nhiều, tôi đã tìm kiếm một trình gỡ lỗi đảo ngược cho Python trong một thời gian rất dài, và cả hai epdb và luận án sẽ có giá trị tuyệt vời cho tôi! – gaborous

Các vấn đề liên quan