zoukankan      html  css  js  c++  java
  • IntelliJ idea evaluate expression

    介绍一个idea的debug神器evaluate expression,evaluate expression是idea一个在debug模式下可以动态执行代码的工具,甚至还能动态修改该次代码运行时变量的值,利用这个工具我们在debug的时候可以执行我们代码中的方法,查看变量的值

    深度截图_选择区域_20181111163648.png-15.1kB)

    我们只需要在expression写java代码即可,现在写个简单的demo演示下这个工具的强大

    public class Main {
    
        public static void main(String[] args) {
    	// write your code here
            int a = 1;
            int b = 2;
            System.out.println(add(a,b));
    
        }
    
        public static int add(int a,int b){
            return a+b;
        }
    }
    
    

    现在有个简单的代码,计算a+b的值并且打印出来,我们在实际项目中基本上是不可能使用Println这种控制台打印方式的,都会使用log4j这类日志组件来打印运行日志,我们在debug的时候就是想知道add这个方法返回的内容是什么,因为是直接调用了方法,debug的时候又无法通过变量的方式查看结果值,使用打印日志的方式打印出来再去看日志文件又显得比较麻烦,这时候evaluate expression就可以发挥他的作用了

    深度截图_选择区域_20181111164528.png-15.9kB

    我们直接调用add(a,b)方法就可以得到结果,甚至我们还可以填入不同的参数,比如

    深度截图_选择区域_20181111164626.png-15.8kB

    深度截图_选择区域_20181111164948.png-16.8kB

    而且这里填入的参数可以是当前运行方法的所有的变量,想怎么玩怎么玩,只要是在原有代码基础上能够执行的代码在这里都可以得到结果

    在看看动态修改变量值的功能,这段代码运行后会在控制台打印出3,我们现在sout这行打个断点,然后把a的值改成4

    深度截图_选择区域_20181111165148.png-77.4kB

    然后过掉这个断点,看看最后打印的值

    深度截图_选择区域_20181111165246.png-38.8kB

    可以看到最后的值已经变成6了

    这种修改变量的方法在这一次debug下会一直生效,我们在平时开发web项目的时候,使用debug模式启动了一次tomcat容器,那么使用evaluate expression修改的变量值在这一次tomcat运行下都是会生效的

    更多的可以参考官网:Evaluating Expressions

  • 相关阅读:
    Markdown编辑器:Typora
    Makefile的编写
    【转】Java基础——成员变量、局部变量和静态变量的区别
    【转】jsp 和 servlet的联系和区别
    【转】keySet和entrySet的区别
    10月25日下午PHP静态、抽象、接口
    10月25日上午PHP继承多态
    10月24日下午PHP封装
    10月24日上午PHP面向对象
    MYSQL存储过程、游标、触发器
  • 原文地址:https://www.cnblogs.com/mrmoo/p/9942605.html
Copyright © 2011-2022 走看看