Java调试:如何发现代码流路径的差异?

Java调试:如何发现代码流路径的差异?,java,eclipse,debugging,Java,Eclipse,Debugging,有时,在调试Java代码时,我发现自己在执行以下操作以查找bug: 在方法调用上放置断点 在调试模式下运行程序 注意作为方法调用结果的代码流路径 更改参数并在调试模式下重新运行程序 再次注意从调用该方法的点开始的代码流路径 找出代码流路径和潜在错误路径之间的差异 有没有一种工具可以通过在文件中记录代码流路径并比较两个这样的文件来简化这项工作?尝试使用类似emma的工具,它是一种单元测试代码覆盖率工具,应该能够告诉您哪些类有未使用或未测试的代码路径 eclipse有一个插件可以提供非常简洁的报告。

有时,在调试Java代码时,我发现自己在执行以下操作以查找bug:

  • 在方法调用上放置断点
  • 在调试模式下运行程序
  • 注意作为方法调用结果的代码流路径
  • 更改参数并在调试模式下重新运行程序
  • 再次注意从调用该方法的点开始的代码流路径
  • 找出代码流路径和潜在错误路径之间的差异

  • 有没有一种工具可以通过在文件中记录代码流路径并比较两个这样的文件来简化这项工作?

    尝试使用类似emma的工具,它是一种单元测试代码覆盖率工具,应该能够告诉您哪些类有未使用或未测试的代码路径


    eclipse有一个插件可以提供非常简洁的报告。

    如果您在eclipse中选择一个方法名称,右键单击并选择引用,您可以看到所有可能调用该方法的情况。

    您可以使用日志记录。如果在源代码不受控制的情况下编写路径遍历器库,则可以设置一个条件断点,以打印一些消息并返回false

    我不明白你在为6+1做什么。一般来说,单元测试。是避免(或至少大大降低)必须以这种方式进行调试的最佳方法。