zoukankan      html  css  js  c++  java
  • eclipse 调试技巧

    1. 跳转到指定语句

    如图例一所示,当前断点在38行,如果我们想直接跳转到第52行(前提是第52行一定会被执行到),一般的做法是在第52行加上断点再按F8跳转到该行,
    其实,可以更简单一点:把光标直接移到第52行,然后按下CTRL + R (Run to line)。

    2. 显示表达式结果

    如图例一,如果想预览下javaRule.eval(scriptRule)的结果,除了慢慢地打开右键,找到Watch,还有别的办法吗?

    首先选中javaRule.eval(scriptRule):
    (1) CTRL + SHIFT + D 调用返回值的toString()方法来显示执行结果
    (2) CTRL + SHIFT + I 当一个类的toString()方法不包含我们想要查看的对象信息时,这个方式可以帮助我们查看对象内部信息。
    注意:这种方式都会附加一个和 CRTL + U 一样的效果,即执行选中的语句。

    3. 给断点加条件

    如图例一,我们想进第52行的for循环内部,查看方法是怎么处理"b2"的,除了在第52行加断点,不断地F8,还有别的方法吗?
    有:
    step1 : 在52行加断点:
    step2 : 在断点上右键,BreakPoint Properties...
    step3 : 勾中Conditional
    step4 : 在输入框中输入以下面的条件,点确定即可。

     

    4. 运行中改变变量值

    (1)简单变量

    如图例一41行所示,如果javaEvalResult != scriptEvalResult,但我们又想进入if内部调试。
    怎么办呢?

    在这个窗口中可以输入我们想要的值。把 javaEvalResult 改成false;

    (2)复杂变量

    如图例一46行,bugs这个列表明明不为空,但现在想进if(bugs.isEmpty)内部调试,怎么办?
    写一条这样的语句,用ctrl + shift + D或ctrl + shift + I 或Ctrl + u执行:
    bugs = Collections.emptyList();
    然后就可以进入if内部调试了。


    5. 执行临时语句

    我们在调试过程中,临时加一条语句,不需要保存,使用CRTL + U或者CTRL + SHIFT + I/D执行这条语句。
    例如,我们可以在图例一第38行下,加一条语句:
    这里只是举了一个例子,实际调试时可以加其它自己需要的语句。
     



    6 .回退

    一般的做法,随便改一点源代码,比如加一个空格,保存。即可以回退。
    还有一种快捷方式用Drop to Frame功能,虽然不属于单步调试的核心,但是该功能非常的适用,它为调试人员提供了调试回退的机会。Drop to Frame可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也相应回到初始时刻,这种方式只能退到当前线程的调用的开始处。
    另外一种方式见第6条。



    7.查看方法调用链

    一个方法可能有多个地方调用,但有时我们在希望知道当前正在调试的方法是被哪个地方调用。下图显示的其实就是调用链。
    可以在双击某一项跳转到对应的方法内。
  • 相关阅读:
    oracle“记录被另一个用户锁住”
    Oracle CASE WHEN 用法介绍
    拥有机器人的人生会是怎样的体验?
    需求那么多,核心需求都从哪里来?
    一文读懂互联网及电商逻辑
    读书:《敏捷产品--不确定性的思维革命》
    读书:《超越感觉:批判性思考指南》一
    618啦,你的钱包又被盯上啦!
    产品经理如何开启上帝视角?
    我的产品经理价值观
  • 原文地址:https://www.cnblogs.com/JailBreak02/p/2705755.html
Copyright © 2011-2022 走看看