码迷,mamicode.com
首页 > 其他好文 > 详细

Intellij IDEA调试功能

时间:2016-04-22 22:25:10      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

public class Demo {
    public static void f1() {
        System.out.println("one");
        System.out.println("two");
        System.out.println("three");
    }
    public static void f2() {
        for (char c = 0; c < 128; c++) {
            if (Character.isLowerCase(c)) {
                System.out.println("value: " + (int) c + "character: " + c);
            }
        }
        f1();
    }

    public static void main(String[] args) {
        f1();
        f2();
    }
}

先编译好要调试的程序。
1.设置断点
技术分享
选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话

技术分享
点击红色箭头指向的小虫子,开始进入调试。
技术分享
IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f1()中,程序的第9行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。

3.单步调试
3.1 step over
技术分享
点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

3.2 step into
技术分享
点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:
在自定义方法发f1()处设置断点,执行调试
技术分享

点击技术分享
技术分享

3.3 Force step into

技术分享
该按钮在调试的时候能进入任何方法。

3.4 step out
技术分享
如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

3.5 Drop frame
技术分享
点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

4. 高级调试
4.1 跨断点调试
技术分享
设置多个断点,开启调试。

想移动到下一个断点,点击如下图:

技术分享

程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。

4.2 查看断点

技术分享

点击箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。

技术分享

箭头1指向的是你曾经设置过的断点,箭头2可以设置条件断点(满足某个条件的时候,暂停程序的执行,如 c==97)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

 

Intellij IDEA调试功能

标签:

原文地址:http://www.cnblogs.com/winner-0715/p/5422952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!