介紹一個idea的debug神器evaluate expression,evaluate expression是idea一個在debug模式下可以動態執行代碼的工具,甚至還能動態修改該次代碼運行時變量的值,利用這個工具我們在debug的時候可以執行我們代碼中的方法,查看變量的值
)
我們只需要在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就可以發揮他的作用了
我們直接調用add(a,b)方法就可以得到結果,甚至我們還可以填入不同的參數,比如
而且這里填入的參數可以是當前運行方法的所有的變量,想怎么玩怎么玩,只要是在原有代碼基礎上能夠執行的代碼在這里都可以得到結果
在看看動態修改變量值的功能,這段代碼運行后會在控制台打印出3,我們現在sout這行打個斷點,然后把a的值改成4
然后過掉這個斷點,看看最后打印的值
可以看到最后的值已經變成6了
這種修改變量的方法在這一次debug下會一直生效,我們在平時開發web項目的時候,使用debug模式啟動了一次tomcat容器,那么使用evaluate expression修改的變量值在這一次tomcat運行下都是會生效的
更多的可以參考官網:Evaluating Expressions