如何调试 lombok 对象
How to debug lombok objects
有谁知道在使用Eclipse或IntelliJ IDEA时如何在下面设置断点Person.toString()
?
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.ToString;
@ToString
@AllArgsConstructor
@Data
public class Person {
private String lastName;
private String firstName;
}
编辑:
如果可能,我只想在调用 toString()
时停止。
你问的是 Eclipse 和 IntelliJ IDEA,答案大相径庭:
- 在 Eclipse 中,右键单击“成员”视图中的方法并使用 "Toggle method breakpoint"。
- 在 IDEA 中,
有 no solution,但是 有很好的解决方法(见下文)并且@PeterVerhas 的评论中描述了一个解决方案。
Umm, If possible, I don't want to change source code.
您肯定在使用 version control,所以不会出错,对吧?如果没有,那么请尽快开始使用它,因为我无法想象没有它的任何工作。
尽管有几个步骤,但解决方法非常简单:
- 首先,使用版本控制来确保您不会丢失当前状态(我通常只是使用 git-gui 中的 "Rescan" 和 "Stage Changed" 将所有内容下移)。
- 执行 "Refactor" -> "Delombok" -> "@ToString"(仅限 IDEA)以及您想要进行调试的任何其他更改。
- 调试。
- 撤消编辑器中的更改(如果可能)。
- 最后,使用版本控制查看工作树的状态(git-gui 中的"Rescan")并可能还原不需要的更改("Commit" -> "Revert changes" in git-gui) and/or 验证工作树的状态。
除了调试通常需要很长时间外,每个步骤都需要一到两秒钟。所以几乎没有任何开销。相信我,我每天临时更改代码几次。
有谁知道在使用Eclipse或IntelliJ IDEA时如何在下面设置断点Person.toString()
?
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.ToString;
@ToString
@AllArgsConstructor
@Data
public class Person {
private String lastName;
private String firstName;
}
编辑:
如果可能,我只想在调用 toString()
时停止。
你问的是 Eclipse 和 IntelliJ IDEA,答案大相径庭:
- 在 Eclipse 中,右键单击“成员”视图中的方法并使用 "Toggle method breakpoint"。
- 在 IDEA 中,
有 no solution,但是有很好的解决方法(见下文)并且@PeterVerhas 的评论中描述了一个解决方案。
Umm, If possible, I don't want to change source code.
您肯定在使用 version control,所以不会出错,对吧?如果没有,那么请尽快开始使用它,因为我无法想象没有它的任何工作。
尽管有几个步骤,但解决方法非常简单:
- 首先,使用版本控制来确保您不会丢失当前状态(我通常只是使用 git-gui 中的 "Rescan" 和 "Stage Changed" 将所有内容下移)。
- 执行 "Refactor" -> "Delombok" -> "@ToString"(仅限 IDEA)以及您想要进行调试的任何其他更改。
- 调试。
- 撤消编辑器中的更改(如果可能)。
- 最后,使用版本控制查看工作树的状态(git-gui 中的"Rescan")并可能还原不需要的更改("Commit" -> "Revert changes" in git-gui) and/or 验证工作树的状态。
除了调试通常需要很长时间外,每个步骤都需要一到两秒钟。所以几乎没有任何开销。相信我,我每天临时更改代码几次。