John Jiang

a cup of Java, cheers!
https://github.com/johnshajiang/blog

   :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  131 随笔 :: 1 文章 :: 530 评论 :: 0 Trackbacks
高效调试:条件化断点
本文是JavaLobby上的一篇博文,介绍了一个使用Eclipse和NetBeans进行调试的小窍门,我受益良多,也希望对大家有所助益。(2009.12.31最后更新)

最重要的开发者工作之一就是调试。在我的大学时代,我们被迫使用简单的文本编辑器开发软件,所以开始时,我使用打印语句来观察程序在什么地方出错了。现在,IDE使我们能很便捷地完成这一工作。...
我在Eclipse和NetBeans中见过的最佳特性就是条件化断点思想。这个想法很简单,打上断点,然后输入使调试线程能够停在该断点处的条件。例如,若有如下代码:
for(Employee emp: employees)
{
    
if(emp.getType() == Employee.MANAGER)
    {
        addToManagers(emp);
    }
}

假设,当雇员的getType方法的值为Employee.DEVELOPER时,我想察看所有变量的值,并在单步调试时能确保不会进入IF语句块。
在Eclipse中,你可一如往常那样在IF语句中设置断点,右键点击断点,你将看到如下菜单:


通过勾选Enable Condition复选框,你可以在结果对话框中为该断点设置一个条件:


当你键入条件时,你能获得完全的内容提示。你也能改变条件的意义--当该条件为真时,或者当在最近一次遍历之后值被改变时,是否需要停止。
对于NetBeans,也十分的相似。你仍要右键点击断点以获得属性菜单:


该对话框也有熟悉的条件,命中次数和内容提示:


像这样的特性才能真正地帮助你提升调试的效率--当你知道某个特定的值导致了程序失败时,你就能直捣问题的核心了。

祝大家新年愉快 :-D

posted on 2009-12-31 10:49 John Jiang 阅读(1919) 评论(1)  编辑  收藏 所属分类: EclipseJavaNetBeans翻译

评论

# re: 高效调试:条件化断点(译) 2009-12-31 13:36 BeanSoft
Support!  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: