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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM