美文网首页工具癖码农的世界技术文档
Intellij Idea--Debug使用(Mac)

Intellij Idea--Debug使用(Mac)

作者: markfork | 来源:发表于2016-10-26 16:11 被阅读3223次

    前言:本文的核心是记录debug的使用,与具体的操作系统无关。
    哦,文末还有福利彩蛋哟

    1.什么是Debug


    Debug是程序的一种运行模式。用来发掘程序的走向,以及程序在运行过程中参数的变化。

    2.Debug的作用


    debug用来追溯代码的运行流程,通常在程序运行跟预期结果不符合的时(程序运行时出现异常),那么启动debug模式可以分析定位异常发生的位置,帮助程序员更好的fix bug

    3.Debug的使用


    主要讲解intellj中debug的使用 ,此篇不会讲解debug时可用的快捷键。
    配合idea中图形界面来进行讲解。

    3.1.程序打上断点
    首先为程序打上断点,我采用的是spring demo,因为这样可以演示给第三方spring jar包如何打上断点。
    主程序上断点如下图所示:

    程序打上断点.png
    第三方jar包反编译源代码断点如下图所示:
    屏幕快照 2016-10-26 下午3.09.44.png
    3.2单步调试
    3.2.1 Step Over:
    点击红色箭头指向的按钮,程序向下执行一行。
    屏幕快照 2016-10-26 下午3.21.02.png
    但有一种情况需要注意,如果在一个顺序执行的程序文件中打上断点,而第一行被打上断点的代码调用了其他方法,而且这个被调用的方法上也有断点,那么这样单步执行的顺序是,先祝程序文件中第一行被打断点的程序运行,接下来是被调用方法中打了断点的那一行代码,最后接着顺序运行此主程序文件中其它被打了断点的代码。
    3.2.2 Step Into:
    点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法,如果有第三方类库方法,则在idea 中可以进入第三方代码中。具体步骤如下:
    屏幕快照 2016-10-26 下午3.41.02.png
    在程序第十三行设置断点,然后点击上图中红色箭头指向的按钮,程序运行至第三方类库当中代码,代码如下图所示:
    屏幕快照 2016-10-26 下午3.45.08.png
    3.2.3 step out
    屏幕快照 2016-10-26 下午3.48.30.png
    如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。
    3.2.4 Drop frame
    屏幕快照 2016-10-26 下午3.50.50.png
    点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。
    3.2.5 纯断点运行
    所谓纯断点运行表示:程序只在断点处停留。
    屏幕快照 2016-10-26 下午3.55.53.png
    发现上述两个按钮都可以实现效果
    3.2.6 查看断点
    按如下按钮可以查看程序中所有的断点:
    屏幕快照 2016-10-26 下午3.58.03.png
    效果图如下所示:
    屏幕快照 2016-10-26 下午3.59.29.png
    你可以从中删除不想要的断点。重新debug
    3.2.7 变量值查看
    idea中变量值的查看非常简单如下图:
    屏幕快照 2016-10-26 下午4.07.20.png
    两个红色箭头所指的地方都可以查看debug过程中变量值的变化情况。

    关于公众号

    精进!
    道友们,你们好。早前个人就有开设公众号的念想,今年10月终于开搞了。
    我的个人的 订阅号--T客来了;
    平时自己会总结一些后端开发相关的技术;
    最近也迷上了音视频开发相关技术;

    技术分享包括:

    • 1.FFmpeg 工程实战、
    • 2.数据库 MySQL原理与实战、
    • 3.Redis中间件、
    • 4.Nginx、Java并发编程、
    • 5.Go语言方面的技术知识与实操;


      T客来了

    点击微信图标,扫码就可以添加哦~

    博客搬家:大坤的个人博客
    欢迎评论哦~

    相关文章

      网友评论

        本文标题:Intellij Idea--Debug使用(Mac)

        本文链接:https://www.haomeiwen.com/subject/lrgduttx.html