有没有办法追溯调试执行?

时间:2019-04-29 20:51:48

标签: java intellij-idea

我有一套集成测试,这些测试间歇性地失败很少,以至于我无法在本地调试它们,但经常发生,以至于我的400个测试套件经常出现一两次失败。

我使用Intellij,因此可以“运行直到失败”,但这并不能帮助我调试正在发生的事情。

是否有一种方法可以吐出有关Exception的某种调试信息,从而使我可以在失败的确切条件下对测试进行模拟运行?如果没有,还有另一种方法可以做到这一点,而不仅仅是增加大量的日志记录并运行测试直到失败?

2 个答案:

答案 0 :(得分:2)

IntelliJ IDEA支持Chronon,这是一种耗时的调试器,可能会对您有帮助。

答案 1 :(得分:0)

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

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

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