【问题标题】:Set a breakpoint to cover all return statements of a method in IntelliJ设置断点以覆盖 IntelliJ 中方法的所有返回语句
【发布时间】:2019-01-24 05:35:51
【问题描述】:

我在 java 中有一个相当大的 equals 方法,其中有一堆 return false 语句和一个 return true 在最后。

我想查看方法退出的确切位置,以了解哪个字段不相等。有没有办法在方法退出时简单地添加断点,而不管方法在哪里退出?

我知道我可以在每个 return 语句中添加断点,但我希望有更简单的方法。

【问题讨论】:

  • 有趣的想法。第一个想法当然是:当你的方法有这么多退出点时,这很重要,那么有些东西很可疑,但是,嘿,这里谁没有使用 IDE 生成 equals() 方法然后想到“wtf”?!跨度>
  • 你可以暂时将equals的代码放在自己的私有方法中。并在等号中放置一个断点。然后,您可以在堆栈中查看返回的内容。 - 或者趁机减少退货次数。
  • 我不会说这里有很多“return false”是有问题的。如果已经很明显它不相等,为什么还要评估其余部分。听起来对我来说是一个合适的解决方案。

标签: java debugging intellij-idea return breakpoints


【解决方案1】:

尝试在声明方法的行上放置一个断点。

例如public boolean test() {

调试器应该刹车 2 次。何时调用该方法以及该方法在其中一个返回语句上完成时。这应该适合你。

【讨论】:

  • 谢谢!看起来您甚至可以决定是否要在方法进入或退出时停止。
【解决方案2】:

除了 kamentk 的回答(谢谢!)我已经看到在方法断点处甚至有一个选项可以只在方法入口或出口处停止:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多