【问题标题】:IntelliJ debugging - How to watch a variable throughout its lifecycle?IntelliJ 调试 - 如何在其整个生命周期中观察变量?
【发布时间】:2020-01-28 01:18:27
【问题描述】:

我正在开发类似 SpringBoot 的服务,并使用 IntelliJ 理念。有一些对象在服务启动时被实例化,并在每个 API 调用的整个生命周期中经历多个类中的无数方法调用。

借助 IntelliJ 的调试功能,我可以在任何断点处观察这样的变量,但是有没有办法在变量传递时跟踪变量的旅程并观察发生在它身上的所有状态突变和方法调用?

【问题讨论】:

    标签: debugging intellij-idea


    【解决方案1】:

    您可以尝试使用现场观察点,请参阅https://www.jetbrains.com/help/idea/using-breakpoints.html。它允许在访问和/或修改字段的位置停止:

    【讨论】:

    • 非常感谢您的回复!对不起,我的问题不清楚。在代码中的给定行添加一个字段观察点让我们可以在对象被访问或修改时观察它。但是要跟随它在整个代码中跨类传递的过程,我必须在引用/访问/修改该对象的每个地方添加观察点。有没有办法让 IDE 只知道我想观看的 what 对象,而不是 where 我想观看它(因为我想在任何地方观看它)来观看对象)。
    • 您可以尝试使用 * 作为方法名称为对象的类添加通配符方法断点。 (参见stackoverflow.com/a/47052165/5276012)这将在类的每个方法中停止。然后您还可以添加实例过滤器以仅跟踪一个特定对象。 (实例 id 是变量表示中 @ 之后显示的数字)如果仅使用它的方法修改对象,这应该会有所帮助。
    【解决方案2】:

    您可以使用Make Object ID 来跟踪对象值。

    或者使用data breakpoint监控变量变化。

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多