如何调试 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,所以不会出错,对吧?如果没有,那么请尽快开始使用它,因为我无法想象没有它的任何工作。

尽管有几个步骤,但解决方法非常简单:

  1. 首先,使用版本控制来确保您不会丢失当前状态(我通常只是使用 git-gui 中的 "Rescan" 和 "Stage Changed" 将所有内容下移)。
  2. 执行 "Refactor" -> "Delombok" -> "@ToString"(仅限 IDEA)以及您想要进行调试的任何其他更改。
  3. 调试。
  4. 撤消编辑器中的更改(如果可能)。
  5. 最后,使用版本控制查看工作树的状态(git-gui 中的"Rescan")并可能还原不需要的更改("Commit" -> "Revert changes" in git-gui) and/or 验证工作树的状态。

除了调试通常需要很长时间外,每个步骤都需要一到两秒钟。所以几乎没有任何开销。相信我,我每天临时更改代码几次。