只要学会它,再多Bug也不怕
2、光标悬停到参数上,显示当前变量信息。点击打开详情如图3.3。我一般会使用这种方式,快捷方便。 ![]() [图3.2] ![]() [图3.3] 3、在Variables里查看,这里显示当前方法里的所有变量。 ![]() [图3.4] 4、在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看。 ![]() [图3.5] 如果你发现你没有Watches,可能在下图所在的地方。 ![]() [图3.6] ![]() [图3.7] 四、计算表达式 在前面提到的计算表达式如图4.1的按钮,Evaluate Expression (Alt + F8) 。可以使用这个操作在调试过程中计算某个表达式的值,而不用再去打印信息。 ![]() [图4.1] 1、按Alt + F8或按钮,或者,你可以选中某个表达式再Alt + F8,弹出计算表达式的窗口,如下,回车或点击Evaluate计算表达式的值。 这个表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值。 ![]() [图4.2] 2、设置变量,在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况了不是。 ![]() [图4.3] 五、智能步入 想想,一行代码里有好几个方法,怎么只选择某一个方法进入。之前提到过使用Step Into (Alt + F7) 或者 Force Step Into (Alt + Shift + F7)进入到方法内部,但这两个操作会根据方法调用顺序依次进入,这比较麻烦。 那么智能步入就很方便了,智能步入,这个功能在Run里可以看到,Smart Step Into (Shift + F7),如图5.1 ![]() [图5.1] 按Shift + F7,会自动定位到当前断点行,并列出需要进入的方法,如图5.2,点击方法进入方法内部。 如果只有一个方法,则直接进入,类似Force Step Into。 ![]() [图5.2] 六、断点条件设置 通过设置断点条件,在满足条件时,才停在断点处,否则直接运行。 通常,当我们在遍历一个比较大的集合或数组时,在循环内设置了一个断点,难道我们要一个一个去看变量的值?那肯定很累,说不定你还错过这个值得重新来一次。 1、在断点上右键直接设置当前断点的条件,如图6.1,我设置exist为true时断点才生效。 ![]() [图6.1] 2、点击View Breakpoints (Ctrl + Shift + F8),查看所有断点。 Java Line Breakpoints 显示了所有的断点,在右边勾选Condition,设置断点的条件。 勾选Log message to console,则会将当前断点行输出到控制台,如图6.3 勾选Evaluate and log,可以在执行这行代码是计算表达式的值,并将结果输出到控制台。 ![]() [图6.2] ![]() [图6.3] 3、再说说右边的Filters过滤,这些一般情况下不常用,简单说下意思。 Instance filters:实例过滤,输入实例ID(如图6.5中的实例ID),但是我这里没有成功,不知道什么原因,知道的朋友留个言。 Class filters:类过滤,根据类名过滤,同样没有成功.... (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |