【问题标题】:How to skip loops while debugging Java code?调试Java代码时如何跳过循环?
【发布时间】:2013-12-27 19:00:18
【问题描述】:

这不是How to come out of while loop during debugging 的副本。请参阅此问题的作者对此答案 https://stackoverflow.com/a/8107702/1391924 的评论。

调试时,我们可以使用快捷键F8恢复,F7单步返回,F5单步进入,F6 跳过。

在调试 Java 代码时是否有跳过循环(for、while 和 do-while)的快捷键?

如下图所示

当前调试光标位于第 57 行。按下它时是否有任何快捷键调试光标应该从最内层循环(for、while 或 do-while。这里是 while 循环)中出来并在下一个可执行语句处暂停(即不包括 cmets。这里第 64 行)。当再次按下这个键时,它应该来到第 66 行。

编辑:

没有得到任何满意的答案。提出了一个错误here。请投票并在下一个 JDT 版本中申请此功能。

【问题讨论】:

  • 你想跳过他们吗?或者只是不一步一步地运行整个循环?
  • 我不想一次又一次地按 F6。我想在循环内执行所有语句并在循环后的语句处停止/暂停。
  • 记录了一个针对 JDT here 的错误。请投票并在下一个 JDT 版本中申请此功能。
  • @ChandrayyaGK 他们似乎没有在下一个 JDT 中实现这一点。你最好的选择是使用“Run to line”。

标签: java eclipse debugging keyboard-shortcuts eclipse-jdt


【解决方案1】:

选择循环外的行并按 ctrl + r(运行到行):

【讨论】:

  • 是的,我知道 Ctrl + r 快捷方式,但如果循环很大,我需要滚动到循环末尾并在其后放置光标。我正在寻找一些类似于 F7 快捷键的东西。当我们按下 F7 时,它会将调试光标置于方法调用之后的下一条语句。
  • @ChandrayyaGK 如果你有一个大循环,很难找到它下面的线,那就是糟糕设计的标志。
  • 是的,我明白了,但是在我的笔记本电脑上工作时,屏幕尺寸会变小,我的编辑器占用的空间也会很小。同样在嵌入式循环的情况下,很难判断循环的结束和开始。我需要来回滚动才能到达每个循环的结束或开始。再次,我知道去匹配括号或范围选择的捷径,但我必须前后滚动才能进入循环的开始或结束。
  • @ChandrayyaGK 我明白这一点。我查看了 Eclipse 的所有论坛,找不到更好的方法。我担心这是您在调试时可以做的最接近“跳过”循环的事情。我会继续搜索,如果我发现更好的东西会更新。
  • 这是正确答案。发帖人可能希望有一个更简单的替代方案,但它并不存在。拒绝选择这个,希望有一天有人会实现这个功能并没有取得任何成就。
【解决方案2】:

您可以在循环后添加断点,然后单击F8(继续)。调试器将在下一个找到的断点处停止,例如您将跳过循环。

【讨论】:

    猜你喜欢
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 2021-03-07
    相关资源
    最近更新 更多