Debugging ReplayDIRECTOR/Chron调试器是否有开源替代方案?

Debugging ReplayDIRECTOR/Chron调试器是否有开源替代方案?,debugging,logging,virtualization,reverse-debugging,Debugging,Logging,Virtualization,Reverse Debugging,你可能熟悉 重播导演 克龙 它们都自称为“Java DVR”——有没有提供类似(甚至是它们的一部分)功能的开源实现?我所知道的只有 虽然尚未开源,但最终可能是免费下载 全知调试器记录跟踪数据以供以后查询。它们通常也被称为反向、时间回溯、双向或时间旅行调试器,但我更倾向于将这些术语保留给允许在实时程序中实际反向的调试器 是一个全知的Java调试器 是另一个免费的Java全知调试器,但不是开源的 GNU调试器,gdb。它有两种模式,一种是,另一种是真的。它非常慢,因为它一次撤销一条机

你可能熟悉

  • 重播导演
  • 克龙

它们都自称为“Java DVR”——有没有提供类似(甚至是它们的一部分)功能的开源实现?

我所知道的只有

  • 虽然尚未开源,但最终可能是免费下载

全知调试器记录跟踪数据以供以后查询。它们通常也被称为反向、时间回溯、双向或时间旅行调试器,但我更倾向于将这些术语保留给允许在实时程序中实际反向的调试器

是一个全知的Java调试器

是另一个免费的Java全知调试器,但不是开源的

GNU调试器,gdb。它有两种模式,一种是,另一种是真的。它非常慢,因为它一次撤销一条机器指令


对于Python,扩展Python调试器原型epdb也是一个真正的反向调试器。这是,这是。作为MSc学位的一部分,我使用epdb作为起点来创建实时反向调试器。本文介绍了实现的细节,以及大多数历史上的反向调试方法。在线提供:。

不幸的是,我在Java 6上,Jive至少比Chronon慢一个数量级,Whyline没有维护,而且“非常有童车”,我没有尝试过的潜水员看起来像个玩具。因此,我不认为这些选项中的任何一个是Chronon的生产质量替代品。不过,它们可能对教育和研究目的有用。我认为问题在于JVM的替代方案。本机应用程序或其他运行时的替代方案将是一个完全不同的问题。@RobinGreen我不同意你的方法。虽然他的问题确实给出了两个“Java DVR”的例子,但它不是用Java标记的,而是用“反向调试”标记的。他要求“任何提供类似功能的开源实现”。然而,如果他只是指Java,那么我的答案中的前两项TOD和JIVE就足以回答wrt Java这个问题。然后,我又为其他语言添加了两个,以防他的意思更多。在我看来,一个涵盖用户可能的意思的全面答案(按可能性排序)是一个不错的方法,不应该获得否决票opinion@Abraham非常感谢,我一直在寻找Python的可逆调试器,很长一段时间了,epdb和论文对我来说都很有价值!