2012-02-01 10 views

Odpowiedz

10

Jedynymi znam jeszcze

+3

Niestety, nie mogę uzyskać Omniscient Debugger w ogóle] (http://stackoverflow.com/questions/9686946/how-to-use-omniscient-debugger) na Java 6, Jive jest co najmniej rzędu wielkości wolniej niż Chronon, Whyline jest nieurodzona i "bardzo zapluskwiona", a Diver nie próbowałem, ale wygląda jak zabawka. Dlatego uważam, że żadna z tych opcji nie jest substytutem jakości produkcji dla Chronon. Mogą być jednak użyteczne dla celów edukacyjnych i badawczych. –

5

Omnizyjne debuggery zapisują dane śledzenia, aby następnie zapytać. Często są one również nazywane debuggerami odwrotnymi, cofającymi się w czasie, dwukierunkowymi lub w czasie, ale wolę zarezerwować te terminy dla debuggerów, które umożliwiają rzeczywiste cofanie w programie na żywo.

TOD jest wszechstronnym debuggerem dla Javy w wersji open-source.

JIVE to kolejny darmowy wszechwiedzący debugger do Javy, ale nie open-source.

Debugger GNU, gdb. Ma dwa tryby, jeden to process record and replay, drugi to prawda reverse debugging. Jest bardzo powolny, ponieważ cofa pojedyncze instrukcje maszynowe na raz.

A dla Pythona, rozszerzony prototyp debuggera Pythona, epdb, jest również prawdziwym debuggerem odwrotnym. Oto thesis i tutaj jest program and the code. Użyłem epdb jako punktu wyjścia do stworzenia live debuggera odwrotnego jako części mojego stopnia magistra. Teza obejmuje szczegóły implementacji, , a także większość historycznych podejść do odwrotnego debugowania. Jest dostępny online: Combining reverse debugging and live programming towards visual thinking in computer programming.

+0

Myślę, że pytanie dotyczy alternatyw dla JVM. Alternatywy dla natywnych aplikacji lub innych środowisk wykonawczych byłyby zupełnie inne. –

+1

@RobinGreen Nie zgadzam się z twoim podejściem. Mimo, że jego pytanie podaje dwa przykłady "rejestratorów Java", oznacza to, że nie jest oznaczone językiem Java, ale ogólnie "odwrócone debugowanie". Pyta o "_ne_ implementacje open-source, które oferują podobne funkcje". Jednak w przypadku, gdy miał na myśli tylko Javę, pierwsze dwa elementy w mojej odpowiedzi, TOD i JIVE, odpowiednio odpowiadają na pytanie dotyczące Java. Dodałem jeszcze dwa dla innych języków, na wypadek gdyby miał na myśli więcej.Obszerna odpowiedź, która dotyczyła tego, co użytkownik mógł mieć, według prawdopodobieństwa, jest dobrym podejściem, które nie powinno być poddawane pod głosowanie, moim zdaniem – Abraham

+0

@Abraham Dziękuję bardzo, szukałem odwracalnego debuggera dla Python od bardzo dawna, a zarówno epdb jak i tezy będą dla mnie wielką wartością! – gaborous

Powiązane problemy