如何跳过执行一行代码?
我在Eclipse中调试我的应用程序。最后,我在一个触发下一行代码中的错误的状态中达到了一个断点。如何跳过执行一行代码?
由于班级发生重大变化,最可能的解决方案是删除该行代码。
当然,我现在可以做到这一点:删除线,重新编译和再现sitatuation。但是,由于很难重现该错误,我现在可以简单地跳过执行该代码行吗?例如。我可以在Eclipse中设置“指令指针”吗?
事情我做:
- 我不想
F6
(步过)做的,因为这将执行该行。 - 此外,“运行到游标”不是我想要的,因为它也会执行有问题的行。
- 注释掉的代码根据How to modify Java code during debugging,但重新执行的方法,从而改变了状态
- 我试图找到this question一个答案,但我不只是想运行一个单一的代码行但其余的都是。
- This question只有在两者之间运行代码的答案。
- drop to frame功能也没有帮助。
链接的问题是从2009年到2013年,所以我希望能得到新的答案。
我在使用Eclipse 4.5.1(Mars.1),最新的正式版本在询问时。
如果您想要在要跳过的行之后执行该行。当您到达要跳过的行之前的行时,选择代码并右键单击,从菜单中选择“检查”。这将执行选定的代码并在弹出窗口中提供结果。
如果您知道必须跳过的行。你可以把它们放在if语句中,并在eclipse中的变量视图中改变布尔值的值。然后进入其他行。 (使用代码从注释)
if (skipped){
//yourcode
};
另外,也可以在Eclipse中创建表达式。
我错过的一件事是eclipse也支持热代码交换。您可以注释掉该行并保存。它会将调试器控件放回到方法的起始位置。热部署仅支持方法实现中的代码更改。如果您添加新类或新方法,仍然需要重新启动。如果你有服务器在eclispe,这里是你如何能做到这一点http://www.mkyong.com/eclipse/how-to-configure-hot-deploy-in-eclipse/
我正在使用该方法并且它是有用的。只需创建if(跳过){// yourcode};并且打开表达式,改变跳过= true或者跳过= false – hurricane
这很危险:如果你在调试过程中这样做,你可能会忘记更改并意外提交它们,并且它会成为产品的一部分。 (希望单元测试能够抓住它) –
你可以在调试时注释掉这条线 –
try-catch怎么样?并在catch语句中放置一个断点。这将在每次异常时停止断点 – Tim
@Tim:没有异常 –