Java 有没有一种方法可以追溯调试执行?

Java 有没有一种方法可以追溯调试执行?,java,intellij-idea,Java,Intellij Idea,我有一套集成测试,这些测试偶尔会出现故障,我无法在本地调试它们,但我的400测试套件经常会出现一两次故障 我使用Intellij是为了“一直运行到失败”,但这并不能帮助我调试正在发生的事情 有没有一种方法可以在异常上吐出某种调试信息,让我在故障的确切条件下模拟运行测试?如果没有,是否有其他方法可以做到这一点,而不仅仅是添加大量日志记录并运行测试直到失败?我认为这是不可能的。如果通过网络发送数据,您会怎么做。您到达断点,然后决定返回。无法取消发送该数据。您的软件系统将不再处于相同的状态 到达断点后

我有一套集成测试,这些测试偶尔会出现故障,我无法在本地调试它们,但我的400测试套件经常会出现一两次故障

我使用Intellij是为了“一直运行到失败”,但这并不能帮助我调试正在发生的事情


有没有一种方法可以在异常上吐出某种调试信息,让我在故障的确切条件下模拟运行测试?如果没有,是否有其他方法可以做到这一点,而不仅仅是添加大量日志记录并运行测试直到失败?

我认为这是不可能的。如果通过网络发送数据,您会怎么做。您到达断点,然后决定返回。无法取消发送该数据。您的软件系统将不再处于相同的状态

到达断点后,可以查看堆栈的调用层次结构,并确定插入新断点的位置


还可以在关键位置添加.log语句,以便在激活断点时获得一些数据。这样,您可以在日志中看到以前发生的情况

IntelliJ IDEA支持时间旅行调试器,它可能对您的情况有所帮助

最后一个兼容的IntelliJ IDEA版本是


.

我需要调试已经发生的事情。如果我可以从断点返回,那么这可能会有所帮助。@b15@crazycoder如果你发布它,我会接受这个答案。这就是我所希望的。这是有道理的,但我不想让它再次执行。我只想逐步了解它所做的事情。我不能在代码中设置断点,因为在四百次中只有一次失败。日志记录和重新运行是痛苦的,所以这个问题主要是为了寻找更好的方法。供其他人参考-这个工具很棒。不要被评论所劝阻。请记住添加名称空间和包的内含物,您希望能够单步进入或在局部变量中看到它们,而不仅仅是类型为x的对象。我无法在jetbrains marketplace中找到关于此插件的任何信息。这仍然有效吗?超链接只是带我去jetbrains上的通用调试帮助doc@AdamHughes此插件将使用的最后一个兼容IntelliJ IDEA版本是2019.2.4,您可以在以下位置获得它。插件页:。此版本的帮助部分:。