Daha önceki yanıtlarda bahsedilenlerin ötesinde - yani Eclipse'in hata ayıklama görünümündeki kareye düşür özelliği , yığın çerçevesinde daha önce hata ayıklamayı yeniden başlatır (ancak genel / statik verileri geri almaz) ve biraz ham ve çok fazla olmayan Omniscient hata ayıklayıcı gelişen - (çalışma) zamanında "geri dönmek" için kullanılabilecek birkaç Eclipse tabanlı araç vardır:
JIVE, Eclipse Java hata ayıklayıcısını program durumlarını kaydetme yeteneği ile genişletir. JIVE perspektifi, program çalışırken güncellenen bazı yararlı UML diyagramları sağlar. Bu diyagramlar, uygulamanın durumuna (nesne diyagramı) ve yığın izlemesine (sıra diyagramı) genel bir bakış sağlar. Hafızaya alınan izi sorgulayabilir ve zamanda ileri geri gidebilir ve ilgili diyagramları görebilirsiniz.
Diver yalnızca yöntem çağrılarını kaydeder ve JIVE gibi program durumlarını gerçekten kaydetmez. Her yöntem çağrısı olayı daha sonra erişim ve analiz için saklanır. Java Çalıştırma ve Hata Ayıklama konfigürasyonlarını esas olarak filtreleri belirlemek için genişletir. İzleme, çalışma zamanında duraklatılabilir / devam ettirilebilir / filtrelenebilir. Diver perspektifi, kaydedildikten sonra onu etkileşimli bir sıralama diyagramında görüntüleyebilir.
JIVE ve Diver, akademik araştırmalardan yayınlanan açık kaynaklı projelerdir. Kasım 2012 itibariyle her iki proje de aktiftir.
Chronon ticari bir üründür, ancak öğrenciler ve açık kaynaklı projeler için ücretsiz lisansları vardır. Web sitelerinde iddia edilenlere göre muhtemelen en kapsamlı kayıt cihazıdır, çünkü kaydedilen geçmişi tekrar oynatabilir, ileri geri adım atabilir ve zaman yolculuğu hata ayıklama dedikleri gibi izin verebilir. Ayrıca kayıt için Eclipse gerekmez.
Bu eklentilerin tümü kaynaklarda oldukça açgözlüdür, bu nedenle iyi bir özellik makinesine sahip olmak ve filtre özelliklerini kullanmak en iyisidir. Bunları başarılı bir şekilde çalıştırmak için kesin bir gereksinim , eclipse.ini dosyasındaki yığın alanını genişletmektir .
Benim durumumda, bir XML ayrıştırma programında hata ayıklamak için JIVE ve Diver'ı kullanmayı denedim, ancak kaynak yetersizliğinden her zaman donma tutulmasıyla sonuçlandı. Dalgıç , linux 64bit üzerinde çalıştırmak zor olabilir , ubuntu 32bit ve muhtemelen bu ipuçlarını kullanan diğer 32bit dağıtımlarda çalışır . Diver Windows üzerinde çalışır, daha iyisi Windows 64bit + 64bit JVM'de çalışır, aksi takdirde 32bit pencerelerde maksimum 1.3-1.6Gb yığın alanı ile sınırlandırılırsınız . JIVE, linux 64bit'imde harika çalışıyor ve diğer platformlarda da iyi çalışıyor gibi görünüyor.