【问题标题】:Is there any way to set breakpoints on all methods of a class?有没有办法在类的所有方法上设置断点?
【发布时间】:2019-05-09 17:33:28
【问题描述】:

有没有办法在给定类的所有方法上设置断点?

我有一个巨大的(2300 行)遗留类,我需要在所有方法调用上设置断点以了解这个混乱的工作原理。

【问题讨论】:

  • 只添加一个断点并单步执行代码怎么样?我不知道“下一步”的键码,但我确信 Intellij 可以做到这一点。另外,Java 绝对注意与 JavaScript 无关,去掉 JS 标签。
  • @Cerbrus 这个类的方法可能很少被调用,然后就不能单步执行代码。
  • 至少Eclipse能做到,Idea做不到就失望了stackoverflow.com/questions/5076385/…
  • 我正在开发一个有多种服务的应用程序。当您提交请求时,它会调用多个服务,而这些服务本身可能会调用多个服务。我可以查看访问日志并根据映射跟踪对方法的请求。但这是一个耗时的过程。拥有一个在服务中的所有方法中设置断点的功能对我来说将是一个很棒的功能。像 Visual Studio 那样在异常中休息会是另一个很棒的相关功能。

标签: java intellij-idea


【解决方案1】:

您可以按照以下步骤操作:

  1. 运行->查看断点->添加->Java方法断点

  2. 类模式 -> 类的完整引用(例如,mypackage.MyClass)

  3. 方法名称 -> * (即星号通配符)

【讨论】:

  • @Malachiasz 我在 Intellij IDEA 社区版上重新尝试过,效果很好。调试器在类的每次显式或隐式方法调用时停止。我想你必须小心包名(区分大小写)或字段值(类模式 -> 类的完整引用,方法名 -> * )。
  • 此方法有效。要快速获取完整的类引用路径,请打开您的类,右键单击其名称并选择复制引用。
【解决方案2】:

我发现了解决方法:

1。我已将“切换制动点”热键设置为 Alt+Numpad 0
2。之后,您可以单击第一种方法
3。使用“切换刹车点”
4。 Alt+Down - 转到下一个方法。 ( Alt+Up - 转到上一个方法。)
5。重复 3 步。

【讨论】:

  • 如果你有 10 个类和每个类中的 30 个方法,你想在其中放置断点。
【解决方案3】:

这类似于 Sergey Senkov 的回答,但没有热键。

在结构视图中,单击第一个方法。对每种方法重复以下操作:

  1. 上下文菜单键
  2. M 切换方法断点。
  3. 关闭

【讨论】:

  • 这也需要定义某些热键。
【解决方案4】:

idea 有一个插件: Simple Toggle All Method Breakpoint.

它允许您从项目视图中类的上下文菜单中一键为所有方法断点/清除所有方法的断点。

【讨论】:

    【解决方案5】:

    正如 Andrey Lavrukhin 所建议的,有 Simple Toggle All Method Breakpoint,通过 Settings -> Plugins 安装它。完美运行。

    【讨论】:

      【解决方案6】:

      您能够做您想做的事情的唯一方法是在每个方法上设置方法断点以及相关类。您需要单击方法旁边的左侧装订线 - 将出现一个带有 4 个点的红色小圆圈,您可能会收到警告说方法级断点会影响性能。然后,您可以进一步配置断点(通过右键单击它,或选择 shift+F8)并将其设置为在进入、退出或两者时中断

      恐怕没有办法在一个步骤/设置中做到这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-03
        • 2016-04-13
        • 2011-07-01
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        • 2021-02-23
        • 1970-01-01
        相关资源
        最近更新 更多