如何在Eclipse Debugger中跳过方法调用?

时间:2015-05-27 10:13:53

标签: eclipse debugging shortcut

在Eclise调试器中,默认步骤选项为:

  • F5 :步入方法
  • F6 :跨行
  • F7 :退出方法

我经常有这样的代码:

obj.getMember().doStuff();

或者甚至可能更糟(请不要质疑代码设计,只是提出这个问题):

obj.getInstance().createSomething().getMember().doStuff();

通常我只想检查doStuff(),但 F6 不会跳过单个方法调用,但会跳过整行。所以我最终达到了 F5 F7 ,直到我到达doStuff()

我的问题是:是否有任何选项可以跨越方法调用(=在一个快捷方式中执行 F5 F7 )?如果我不得不点击X,X,X, F5 只能达到doStuff(),那会很酷。

//编辑以澄清:我正在寻找仅限键盘的解决方案。我知道有几种方法可以达到我的方法(例如断点),但是我要求 F5 + F7 的组合快捷方式,所以说。

3 个答案:

答案 0 :(得分:4)

您必须选择要进入的方法,然后右键单击鼠标,您会找到选项进入选择

Step into selection

  

选择Step Into Selection命令进入当前步骤   活动编辑器中的选定语句。

您必须暂停程序执行才能使此命令可用。

从上图中可以看出,只要选择了进入的方法,就可以在Mac上按OPTION和F5 ...

快捷方式: ALT + F5

答案 1 :(得分:1)

您还可以在[{1}}中放置一个断点,当您到达doStuff()时,只需恢复执行(键绑定: F8

enter image description here

将执行所有中间帧,调试器将再次直接暂停在obj.getInstance().createSomething().getMember().doStuff();中。这当然意味着你不能像在奔驰的doStuff()建议一样决定从跑步到跑步。

答案 2 :(得分:0)

好吧,一些完全不同的东西,因为我觉得我现在更了解你问题的核心。

没有预定义的跳过此方法命令afaik,因此您可以build one yourself。这涉及一些高级主题,所以我只在这里发布一些指示:

  1. 创建一个Eclipse插件。
  2. 在该插件中,声明一个带有键绑定的命令,如 Alt + F8 ,并实现命令的默认处理程序
  3. 在命令的处理程序中,调用绑定到Step intoStep out操作的内置命令。您可以通过查看Eclipse源代码或尝试Plugin-Spy功能来查找其ID。
  4. 打包你的插件并用它包含它来启动Eclipse。
  5. 通过这种方式,您可以重复使用预定义的功能,并将 F5 加上 F7 mashing自动化为单个命令,而且工作量相对较小。