在eclipse中调试非详细代码

时间:2013-06-17 15:27:40

标签: eclipse debugging

我最终写了很多像这样的代码:

String path = getAbsolutePath();
retriever.setDataSource(path);

而不仅仅是

retriever.setDataSource(getAbsolutePath());

只是因为通过在第二行放置断点来调试第一行的输出更容易调试。

有没有一种很好的方法来调试getAbsolutePath()的输出而不会将代码分成多行?

注意:getAbsolutePath()可能不是一个简单的函数。它可能有多个return语句,甚至可能不包含源代码。换句话说 - 它可能不像进入getAbsolutePath()那样简单,并在返回语句的最后一行放置一个断点。

1 个答案:

答案 0 :(得分:2)

  

有没有一种很好的方法来调试getAbsolutePath()的输出而不会将代码分成多行?

您可以在复合线上设置断点,然后:

  • 使用Inspect检查getAbsolutePath()
  • 的返回值
  • 添加表达式以查看getAbsolutePath()
  • 的返回值

这两种方法都会重新评估这种方法,所以至少对于任何有状态的东西是否有用至少是值得怀疑的。

接下来的问题是你是否愿意。如果您的关注点是可读性的,我会说如果您发现自己经常调试这样一个复合语句,那么应该将它放在一个单独的行上,因为它显然非常重要且复杂到足以让那些澄清。