Крім того, що було сказано в попередніх відповідях - тобто функція Eclipse drop to frame у вікні налагодження , яка перезапускає налагодження раніше у кадрі стека (але не повертає глобальні / статичні дані) та налагоджувач Omniscient , який трохи невідкладний еволюціонує - є кілька інструментів на основі Eclipse, які можна використовувати для "повернення" в час (запуску):
JIVE розширює налагоджувач Java Eclipse з можливістю запису програмних станів. Перспектива JIVE надає деякі корисні діаграми UML, які оновлюються під час роботи програми. Ці діаграми забезпечують огляд стану програми (об'єктна діаграма) та сліду стека (діаграма послідовностей). Ви можете запитати запам'ятоване трасування і крокувати назад і вперед у часі і бачити відповідні діаграми.
Дайвер записує лише виклики методу і насправді не записує програмні стани, такі як JIVE. Кожна подія виклику методу зберігається для подальшого пошуку та аналізу. Він розширює конфігурації Java Run та Debug, головним чином, щоб вказати фільтри. Сліди можна призупинити / відновити / відфільтрувати під час виконання. Після запису перспектива Diver може відображати його в інтерактивній діаграмі послідовностей.
JIVE та Diver - проекти з відкритим кодом, що випускаються з наукових досліджень. Станом на листопад 2012 року обидва проекти активні.
Chronon - комерційний продукт, але вони мають безкоштовні ліцензії для студентів та проекти з відкритим кодом. З того, що заявлено на їхньому веб-сайті, це, мабуть, найповніший рекордер, оскільки він здатний відтворювати записану історію, робити крок назад і вперед, дозволяючи, як кажуть, налагоджувати час подорожі. Також Eclipse не потрібен для запису.
Усі ці плагіни є досить жадібними в ресурсах, тому краще мати хорошу технічну техніку та використовувати їх функцію фільтра. Визначальною вимогою для їх успішного запуску є розширення простору купи в eclipse.ini .
У моєму випадку я намагався використовувати JIVE та Diver для налагодження програми розбору XML, але завжди закінчувався заморожуванням затемнення через брак ресурсів. Дайвер може бути складним для запуску на Linux 64bit , він працює на ubuntu 32bit і, можливо, інших 32-бітових дистрибутивах, використовуючи ці поради . Diver працює у Windows, ще краще на Windows 64bit + 64bit JVM, інакше у 32-бітових вікнах ви будете обмежені максимальним простором купи 1,3-1,6Gb . JIVE чудово працює на моєму 64-бітному Linux і, здається, чудово працює на інших платформах.